たとえば、アプリがマニフェストxmlでVIBRATORをリクエストし、コードでバイブレーターサービスを取得しますが、デバイスにバイブレーターが装備されていません。それで、それはインストールで失敗しましたか、それともgetSystemServiceはnullポインターを返しますか?
ありがとう。
たとえば、アプリがマニフェストxmlでVIBRATORをリクエストし、コードでバイブレーターサービスを取得しますが、デバイスにバイブレーターが装備されていません。それで、それはインストールで失敗しましたか、それともgetSystemServiceはnullポインターを返しますか?
ありがとう。
あなたの質問への答えはこの投稿の中にあると思いますAndroid: vibrator method (if phone has no vibrator?)
これにより、バイブレーターのないデバイス上にある場合でも、アプリがクラッシュしないことが確認されます。
Vibrator vibe = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
if(vibe.hasVibrator()){
vi.vibrate(100);
}
とはいえ、Google Play はアプリをフィルタリングするため、デバイスにバイブレーターがない場合、マニフェストでバイブレーションの許可を必要とするアプリはインストールできません。
ユーザーが Android マーケットからインストールすることを選択すると、必要な権限がユーザーに通知されます。ユーザーは、この許可またはその許可を許可または拒否することを選択できません。アプリに必要なアクセス許可が通知され、アプリのインストールを選択することで、必要なアクセス許可が付与されることを受け入れます。
VIBRATE パーミッションは機能要件を意味するものではないため、バイブレーション モーターのないデバイスをマーケットから除外することはできません。