2012-01-14 6 views
5

私は自分のアプリでバイブレーター方式を使いたいのですが、バイブレーターが素晴らしい携帯電話で作業しています。バイブレータを持たない携帯電話は何が起こるか。それはまったく動作しませんか?それはアプリの動作を停止しますか?それとも市場に全く現れないのでしょうか?それともバイブレーターがあるかどうか電話に尋ねる必要がありますか?Android:バイブレーター方式(電話機にバイブレーターが付いていない場合)

このコードが適切か、調整が必要かどうかも知りたいですか?ここに私のコードです。

Vibrator vi; 

vi = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE); 

vi.vibrate(100); 

<uses-permission android:name="android.permission.VIBRATE" /> (In manifest) 

ありがとう、どんな助けも素晴らしいでしょう。

答えて

14

チェックドキュメント、http://developer.android.com/reference/android/os/Vibrator.html

あなたは、振動子は携帯電話上に存在しているので、同じようかどうかをチェックするだけです:

ため、Androidの市場 をフィルタリングすることができるバイブレーション許可の
Vibrator vi; 

vi = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE); 

if(vi.hasVibrator()){ 
    vi.vibrate(100); 
} 

あなたアプリを振動だけで携帯電話に追加できますこれを避けるために、あなたはそれはすべてここに= "false" を文書化の必須

<uses-permission android:name="android.permission.VIBRATE" /> 
<uses-feature android:name="there.isnt.a.vibrate.feature" android:required="false" /> 

の属性とタグを使用することができますただし

http://developer.android.com/guide/topics/manifest/uses-permission-element.html

http://developer.android.com/guide/topics/manifest/uses-feature-element.html

振動の特徴文字列がないため、Androidマーケット振動のアクセス許可を使用しているため、はアプリをフィルタリングしません。ですから、あなたは単にuse-permissionを使用して、Javaコードのチェックを行います。

Androidマーケットに対応するにはバイブレータが必要ですが、もちろんこれはアマゾンやその他のアプリマーケット(Barnes & Noble Nookにはvibがありません)では使用できません。

これは、ダイアンHackthorn(グーグルのアンドロイドでリードDEV)によってバックアップされているが、このスレッドに返信: http://groups.google.com/group/android-developers/browse_thread/thread/7713e796ea2d0f5f

+2

APIレベル11にhasVibrator()が追加されていることに注意してください。それより古いデバイスは、主に(特に正式に)Androidマーケットを搭載している場合、振動モータを搭載します。 – CommonsWare

+0

私はこの文書を読んだが、これについては何も言わない。私はAPI 7で動作していますので、バイブレータが存在しない場合はどうなりますか "hasVibrator"を使用することはできません。 –

+1

これは無視され、振動しません!リフレクションを使用して、これらのデバイスのapi lvl 11呼び出しを呼び出すことができます。これは、アイデアの実装方法によって異なります。 – Blundell

2

それがすべてでは動作しませんか?それはアプリの動作を停止しますか?

振動のリクエストは無視してください。

まったく市場に出ていないのですか?

バイブレーションモーターが搭載されていないマーケットからデバイスを除外することはできません。したがって、VIBRATEの許可は、if you ask for it imply a hardware featureのいずれかではありません。

また、バイブレータが付いている場合は電話に問い合わせる必要がありますか?

APIレベル11以上で、Blundellの回答を参照してください。

+0

私はAPI 7で作業している場合、私はそれが市場でフィルタリングされませんので、私はそれを持っているようにすべてを保持することができ、携帯電話はバイブレータを持っていない場合は、 –

+0

@JackTrowbridge:AFAIK、はい。 – CommonsWare

関連する問題