7

Android Marshmallow READ_PHONE_STATE パーミッションを使用していますが、パーミッション リクエストに表示されるテキストを変更したいと考えています。

デフォルトでは、次のように表示されます。

[アプリ名] に通話の発信と管理を許可しますか?

でも と を取得するために使っているdevice idのでsim serial number、リクエストメッセージは変えたほうがいいと思います。誰かがそれを行う方法を知っていますか(特別な機能か何か)?

それとも、そのために独立したものを実装するDialog必要がありますか?

どうもありがとうございました。

4

1 に答える 1

7

いいえ、ダイアログのテキストを変更することはできません。これは、システムにデフォルトで実装されています。許可を求める前に、許可に関する簡単な説明を提供できます。そうすれば、ユーザーは何に使用するかを正確に知ることができます。

権限をリクエストする

アプリ マニフェストに記載されている危険なアクセス許可がアプリに必要な場合は、ユーザーにアクセス許可を付与するよう求める必要があります。Android には、アクセス許可を要求するために使用できる方法がいくつか用意されています。これらのメソッドを呼び出すと、カスタマイズできない標準の Android ダイアログが表示されます。

アプリに権限が必要な理由を説明する

状況によっては、アプリにパーミッションが必要な理由をユーザーに理解してもらいたい場合があります。たとえば、ユーザーが写真アプリを起動した場合、アプリがカメラを使用する許可を求めても、おそらくユーザーは驚かないでしょうが、アプリがユーザーの位置情報や連絡先へのアクセスを求めている理由を理解できない可能性があります。許可を要求する前に、ユーザーに説明を提供することを検討する必要があります。説明でユーザーを圧倒したくないことに注意してください。説明が多すぎると、ユーザーがアプリに不満を感じて削除する可能性があります。

使用できるアプローチの 1 つは、ユーザーがその許可要求を既に拒否している場合にのみ説明を提供することです。ユーザーがパーミッションを必要とする機能を使用しようとし続け、パーミッションの要求を拒否し続ける場合は、アプリがその機能を提供するためにパーミッションが必要な理由をユーザーが理解していないことを示している可能性があります。そのような状況では、説明を表示することをお勧めします。

ユーザーが説明を必要とする状況を見つけやすくするために、Android にはユーティリティ メソッド shouldShowRequestPermissionRationale() が用意されています。アプリが以前にこのアクセス許可を要求し、ユーザーが要求を拒否した場合、このメソッドは true を返します。

ドキュメントの詳細

于 2016-05-17T10:10:25.103 に答える