在Android開發中,申請個許可權本來很簡單的事情,可就因為Android6.0出個動態許可權,整的那個複雜度是幾何倍增。本著我們開發向簡的宗旨,今天我在這推薦一個Android6.0動態許可權管理庫RuntimePermission,下面我就來介紹它的大用處--化繁為簡!
首先,看一下效果演示圖:
接下來,我們介紹一下庫的功能及其使用方法:
1.功能
Android6.0動態許可權管理庫,回撥模式管理動態許可權,無需關注申請許可權各種狀態,只用關心回撥是否有許可權,然後做不同邏輯處理!
2.Android Studio整合方法
dependencies{
compile 'com.wkp:RuntimePermission:1.0.6'
//Android Studio3.0+可用以下方式
//implementation 'com.wkp:RuntimePermission:1.0.6'
}
複製程式碼
3.使用詳解(以申請CAMERA許可權為例)
- manifest配置
<!--許可權配置-->
<uses-permission android:name="android.permission.CAMERA"/>
複製程式碼
- 程式碼示例
//api 23
@RequiresApi(api = Build.VERSION_CODES.M)
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
/**
* 點選獲取許可權
* @param view
*/
public void applyPermission(final View view) {
//許可權檢查,回撥是許可權申請結果
RuntimePermissionUtil.checkPermissions(this, RuntimePermissionUtil.CAMERA, new PermissionCallBack() {
@Override
public void onCheckPermissionResult(boolean hasPermission) {
if (hasPermission) {
//直接做具有許可權後的操作
Toast.makeText(MainActivity.this, "許可權申請成功", Toast.LENGTH_SHORT).show();
((TextView) view).setText("許可權申請成功");
}else {
//顯示許可權不具備的介面
Toast.makeText(MainActivity.this, "許可權申請失敗", Toast.LENGTH_SHORT).show();
((TextView) view).setText("許可權申請失敗");
}
}
});
}
}
複製程式碼
Note:許可權申請採用回撥模式,不用在意Android版本,內建判斷所有,總是有回撥,低版本預設true!
結語
控制元件支援直接程式碼建立,還有更多API請觀看RuntimePermissionUtil.java內的註釋說明。
歡迎大家使用Github地址,感覺好用請給個Star鼓勵一下,謝謝!
大家如果有更好的意見或建議以及好的靈感,請郵箱作者,謝謝!
QQ郵箱: 1535514884@qq.com
163郵箱: 15889686524@163.com
Gmail郵箱: wkp15889686524@gmail.com