android 9.0適合
2113 ワード
通話記録へのアクセス制限
Android 9は、
アプリケーションが通話記録にアクセスする必要がある場合、または発信を処理する必要がある場合は、
アクセス制限電話番号
着信および発信に関連する電話番号は、携帯電話の状態放送(例えば、着信および発信の携帯電話の状態放送)で見ることができ、
携帯電話のステータスから電話番号を読み取るには、使用例に従ってアプリケーションを更新して必要な権限を要求します. PHONEを通過するSTATE Intentは、 onCallStateChanged()から電話番号を読み取るには、
明文トラフィックを制限したネットワーク(HTTP)リクエストは,暗号化されていないトラフィックリクエストがシステムによって禁止され,HTTPSの使用が要求される.
ソリューション:
1:resの下にxmlディレクトリを新規作成し、network_という名前を作成します.security_config.xmlファイルです.このファイルの内容は次のとおりです.
そしてAndroidManifestでxmlアプリケーションラベルには、上記のxml構成が適用されます.
2.サーバもローカルアプリケーションもhttpsに変更(推奨)
3.targetSdkValerson降格は27に戻る
Android 9は、
CALL_LOG
を導入し、READ_CALL_LOG
、WRITE_CALL_LOG
、PROCESS_OUTGOING_CALLS
の権限をグループに移動します.以前のAndroidバージョンでは、これらの権限はPHONE権限グループにありました.アプリケーションが通話記録にアクセスする必要がある場合、または発信を処理する必要がある場合は、
CALL_LOG
権限グループにこれらの権限を明確に要求する必要があります.そうでないとSecurityException
が発生します.アクセス制限電話番号
READ_CALL_LOG
が最初に取得されていない場合、Android 9上で動作するアプリケーションは、アプリケーションの使用例に必要な他の権限を除き、電話番号や携帯電話の状態を読み取ることができない.着信および発信に関連する電話番号は、携帯電話の状態放送(例えば、着信および発信の携帯電話の状態放送)で見ることができ、
PhoneStateListener
を介してアクセスすることができる.しかし、READ_CALL_LOG
がなければPHONE_STATE_CHANGEDブロードキャストとPhoneStateListenerが提供する電話番号フィールドは空です.携帯電話のステータスから電話番号を読み取るには、使用例に従ってアプリケーションを更新して必要な権限を要求します.
READ_CALL_LOG
およびREAD_PHONE_STATE
の両方の電話番号の読み取りを操作する.READ_CALL_LOG
だけです.READ_PHONE_STATE
は必要ありません.明文トラフィックを制限したネットワーク(HTTP)リクエストは,暗号化されていないトラフィックリクエストがシステムによって禁止され,HTTPSの使用が要求される.
ソリューション:
1:resの下にxmlディレクトリを新規作成し、network_という名前を作成します.security_config.xmlファイルです.このファイルの内容は次のとおりです.
そしてAndroidManifestでxmlアプリケーションラベルには、上記のxml構成が適用されます.
android:name=".App"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:networkSecurityConfig="@xml/network_security_config"
android:roundIcon="@mipmap/ic_launcher_round"
android:theme="@style/AppTheme">
2.サーバもローカルアプリケーションもhttpsに変更(推奨)
3.targetSdkValerson降格は27に戻る