1. 程式人生 > >android動態新增許可權6.0+--許可權操作jar簡化新增許可權步驟。

android動態新增許可權6.0+--許可權操作jar簡化新增許可權步驟。

android動態新增許可權6.0+--記錄android開發過程遇到的一些問題

在android6.0以後即使在xml添加了許可權。

你也需要在程式碼中動態獲取許可權。但使用android自帶的許可權新增是很麻煩的。

所以我們就把它封裝打包,然後進行許可權的新增。

這裡我介紹一個開源專案Mpermission,用此進行許可權的封裝。

這個jar主要有三個方法:

1:

requestPermissions:獲取許可權請求。
他有三個引數:
requestPermissions(Activity object, int requestCode, String... permissions)
第一個是當前activity,第二個是一個code標記,第三個是需要新增的許可權。
2:
@PermissionGrant(100)成功呼叫的方法。註解形式,自動呼叫。
3:
@PermissionDenied(100)是被呼叫方式,註解方式,自動呼叫。
下面我們上程式碼。
可以建立一個baseactivity,讓其他的activity繼承這個baseactivity,然後將下面程式碼放到你的baseactivity
程式碼也分三步:
第一步:請求許可權
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    MPermissions.requestPermissions
(BaseActivity.this,100, Manifest.permission.READ_CONTACTS, Manifest.permission.RECEIVE_SMS, Manifest.permission.WRITE_CONTACTS, Manifest.permission.CAMERA, Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_WIFI_STATE
, Manifest.permission.ACCESS_NETWORK_STATE, Manifest.permission.CHANGE_WIFI_STATE, Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.READ_PHONE_STATE, Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.INTERNET, Manifest.permission.WAKE_LOCK, Manifest.permission.READ_EXTERNAL_STORAGE ); }
第二步:呼叫註解,檢視是否成功。
@PermissionGrant(100)
public void requestSdcardSuccess()
{
    Toast.makeText(this, "獲取許可權成功!", Toast.LENGTH_SHORT).show();
}
第三步:呼叫註解,檢視是否失敗
@PermissionDenied(100)
public void requestSdcardFailed()
{
    Toast.makeText(this, "獲取許可權失敗!", Toast.LENGTH_SHORT).show();
}
通過以上步驟,便可以實現許可權的動態申請。jar包下載地址: