Android 6.0アクセス権処理(最適化)
5028 ワード
ここでは投げ物線のカスタムビューのチュートリアルをお勧めします
https://zhuanlan.zhihu.com/p/27787919
Kotlinで作成したプロジェクトはDispatcherが使えないことを発見しました.前回作成したツール類の欠陥が大きすぎて...So...もう一つパッケージされています.今度は本当によくなった.
使用方法: PermissionActivityクラス を継承する必要がある単一要求用applyPermission() 複数リクエスト用applyPermissionArray() 具体的には、コードを参照してください.
1.単一の要求(カメラ権限の例)
2.一連の権限申請
使用方法:コードコピーのみをプロジェクトに一時的に入力でき、JikPackは一時的にアップロードに失敗した
コードアドレス:https://github.com/RedWolfChao/RedPermission
注意事項:
PermissionCallbackは静的クラスなので、メソッドを書き換えるときはすべて書き換える必要はありません.悪いところも書き換えるメソッドの場合は、書き換えるメソッドを自分で選択する必要があります.選択方法は:単一アクセス権:onNoNeedPermissionApplyおよびonXXXXSuccessおよびonXXXXXFailure を書き換える一連の権限:onNoNeedPermissionApplyおよびonGroupPermissionSuccessおよびonGroupPermissionSuccessを書き換える その他
Androidは全部で9組24個の危険権限を申請する必要があり、各グループの中でユーザーは1つに同意し、他の人も連絡先に同意される権限を持っています.
android.permission.WRITE_CONTACTS android.permission.GET_ACCOUNTS android.permission.READ_CONTACTS
電話権限
android.permission.READ_CALL_LOG android.permission.READ_PHONE_STATE android.permission.CALL_PHONE android.permission.WRITE_CALL_LOG android.permission.USE_SIP android.permission.PROCESS_OUTGOING_CALLS com.android.voicemail.permission.ADD_VOICEMAIL
カレンダ権限
android.permission.READ_CALENDAR android.permission.WRITE_CALENDAR
カメラ権限
android.permission.CAMERA
センサ権限
android.permission.BODY_SENSORS
ロケーション権限
android.permission.ACCESS_FINE_LOCATION android.permission.ACCESS_COARSE_LOCATION
ストレージ権限
android.permission.READ_EXTERNAL_STORAGE android.permission.WRITE_EXTERNAL_STORAGE
マイク権限
android.permission.RECORD_AUDIO
メッセージ権限
android.permission.READ_SMS android.permission.RECEIVE_WAP_PUSH android.permission.RECEIVE_MMS android.permission.RECEIVE_SMS android.permission.SEND_SMS
具体的には公式文書をご覧ください
https://developer.android.com/reference/android/Manifest.permission_group.html
https://zhuanlan.zhihu.com/p/27787919
Kotlinで作成したプロジェクトはDispatcherが使えないことを発見しました.前回作成したツール類の欠陥が大きすぎて...So...もう一つパッケージされています.今度は本当によくなった.
使用方法:
1.単一の要求(カメラ権限の例)
/**
*
* @param callback ,
* @param int permissionCode PermissionConstant
*/
applyPermission(new PermissionCallBack() {
@Override
public void onCameraPermissionSuccess() {
Log.i(TAG, "onCameraPermissionSuccess: ");
}
@Override
public void onCameraPermissionFailure() {
Log.i(TAG, "onCameraPermissionFailure: ");
}
@Override
public void onNoNeedPermissionApply() {
Log.i(TAG, "onNoNeedPermissionApply: ");
}
}, PermissionConstant.PERMISSION_CODE_CAMERA);
2.一連の権限申請
/**
*
* @param callback ,
* @param String[] permissions
*/
applyPermissionArray(new PermissionCallBack() {
@Override
public void onGroupPermissionSuccess(String permissionName) {
Log.i(TAG, "onGroupPermissionSuccess: " + permissionName);
}
@Override
public void onGroupPermissionFailure(String permissionName) {
Log.i(TAG, "onGroupPermissionFailure: " + permissionName);
}
@Override
public void onNoNeedPermissionApply() {
Log.i(TAG, "onNoNeedPermissionApply: ");
}
}, new String[]{Manifest.permission.READ_CALENDAR,
Manifest.permission.CAMERA,
Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.READ_CONTACTS});
使用方法:コードコピーのみをプロジェクトに一時的に入力でき、JikPackは一時的にアップロードに失敗した
コードアドレス:https://github.com/RedWolfChao/RedPermission
注意事項:
PermissionCallbackは静的クラスなので、メソッドを書き換えるときはすべて書き換える必要はありません.悪いところも書き換えるメソッドの場合は、書き換えるメソッドを自分で選択する必要があります.選択方法は:
Androidは全部で9組24個の危険権限を申請する必要があり、各グループの中でユーザーは1つに同意し、他の人も連絡先に同意される権限を持っています.
android.permission.WRITE_CONTACTS android.permission.GET_ACCOUNTS android.permission.READ_CONTACTS
電話権限
android.permission.READ_CALL_LOG android.permission.READ_PHONE_STATE android.permission.CALL_PHONE android.permission.WRITE_CALL_LOG android.permission.USE_SIP android.permission.PROCESS_OUTGOING_CALLS com.android.voicemail.permission.ADD_VOICEMAIL
カレンダ権限
android.permission.READ_CALENDAR android.permission.WRITE_CALENDAR
カメラ権限
android.permission.CAMERA
センサ権限
android.permission.BODY_SENSORS
ロケーション権限
android.permission.ACCESS_FINE_LOCATION android.permission.ACCESS_COARSE_LOCATION
ストレージ権限
android.permission.READ_EXTERNAL_STORAGE android.permission.WRITE_EXTERNAL_STORAGE
マイク権限
android.permission.RECORD_AUDIO
メッセージ権限
android.permission.READ_SMS android.permission.RECEIVE_WAP_PUSH android.permission.RECEIVE_MMS android.permission.RECEIVE_SMS android.permission.SEND_SMS
具体的には公式文書をご覧ください
https://developer.android.com/reference/android/Manifest.permission_group.html