SMS や通話履歴に関する権限グループの使用について

141 views
Skip to first unread message

TI

unread,
Jul 17, 2019, 9:53:03 PM7/17/19
to 日本Androidの会
端末間のデータのやり取りにSMS(ショートメール)を使用しようと考えています。
まだ限定配布のみでGoogle Playにアップする予定はありませんが、調べていると以下の問題点が見つかりました。

操作要件
アプリのマニフェストで通話履歴に関する権限グループ(READ_CALL_LOG、WRITE_CALL_LOG、PROCESS_OUTGOING_CALLS など)をリクエストする場合ユーザーの端末で、アプリがデフォルトの電話ハンドラまたはアシスタント ハンドラとして能動的に登録されている必要があります。
アプリのマニフェストで SMS に関する権限グループ(READ_SMS、SEND_SMS、WRITE_SMS、RECEIVE_SMS、RECEIVE_WAP_PUSH、RECEIVE_MMS)をリクエストする場合ユーザーの端末で、アプリがデフォルトの SMS ハンドラまたはアシスタント ハンドラとして能動的に登録されている必要があります。
上記の通り、必ずしも利用できるものではないということがわかります。
デフォルトのハンドラまたはアシスタントハンドラとして能動的に登録
の意味がよくわかりませんが、 SMSを使用することが目的のアプリに限定するというようにも読み取れます(要確認)


以前までの場合、以下の対応で利用できていました
  • マニフェストにuses-permissionとしてSEND_SMS、RECEIVE_SMS、READ_SMSを記載

またAndroid 6.0(APIレベル23)からユーザによる明示的な許可が必要になりました。
これについては、requestPermissions()メソッドで許可ダイアログを表示させることができるので、多少面倒ではありますが対応は可能です。

SMSをユーザーが任意のテキストメッセージを送信する以外の目的に利用することは特別な認可を受けない限り難しいのですかね。

もう少し調べますが、何か情報があれば共有いただければ幸いです。
Reply all
Reply to author
Forward
0 new messages