真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

android權(quán)限申請(qǐng),android 權(quán)限管理

Android6.0動(dòng)態(tài)權(quán)限申請(qǐng)步驟以及需要注意的一些坑

我的博客

為滄州等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及滄州網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為做網(wǎng)站、網(wǎng)站制作、滄州網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!

我的博客:Android6.0動(dòng)態(tài)權(quán)限申請(qǐng)步驟以及需要注意的一些坑

因?yàn)楣ぷ餍枰?,?jiǎn)單研究了一下Android6.0權(quán)限申請(qǐng),在Google提供的sample的基礎(chǔ)上,寫了一個(gè)簡(jiǎn)單的demo。算是自己的筆記吧,可能會(huì)比較混亂,主要是方便以后查看。后期有別的問題,隨時(shí)更新~

(1)checkSelfPermission:檢查是否擁有這個(gè)權(quán)限

(2)requestPermissions:請(qǐng)求權(quán)限,一般會(huì)彈出一個(gè)系統(tǒng)對(duì)話框,詢問用戶是否開啟這個(gè)權(quán)限。

(3)shouldShowRequestPermissionRationale:在允許詢問時(shí)返回true ; 在權(quán)限通過 或者權(quán)限被拒絕并且禁止詢問時(shí)返回false ,如果從來(lái)沒有詢問過,也是返回的false, 所以單純的使用shouldShowRequestPermissionRationale去做什么判斷,是沒用的。。。 所以說(shuō)這個(gè)地方有坑,我的解決方法是,在回調(diào)里面處理,如果用戶拒絕了這個(gè)權(quán)限,則打開本應(yīng)用信息界面,由用戶自己手動(dòng)開啟這個(gè)權(quán)限。

(4)每個(gè)應(yīng)用都有自己的權(quán)限管理界面,里面有本應(yīng)用申請(qǐng)的權(quán)限以及各種狀態(tài),即使用戶已經(jīng)同意了你申請(qǐng)的權(quán)限,他也隨時(shí)可以關(guān)閉

其實(shí)和申請(qǐng)一個(gè)權(quán)限是一樣的,只是requestPermissions(final @NonNull Activity activity,

final @NonNull String[] permissions, final int requestCode),里面的permissions給的參數(shù)多些而已。

Android動(dòng)態(tài)申請(qǐng)權(quán)限

1、在Android 6.0之后,APP獲取手機(jī)的權(quán)限不再僅僅只是在清單文件中聲明就行了,它將手機(jī)的權(quán)限分為了兩類:正常權(quán)限和危險(xiǎn)權(quán)限:

2、動(dòng)態(tài)申請(qǐng)權(quán)限涉及到的方法:

3、例子:申請(qǐng)獲取用戶位置信息(危險(xiǎn)權(quán)限)

4、權(quán)限清單:

Android申請(qǐng)權(quán)限,拒絕、永久拒絕

例如

申請(qǐng)定位權(quán)限:

if (Build.VERSION.SDK_INT =M !hasPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION)) {

String[] permissions =new String[1];

permissions[0] = Manifest.permission.ACCESS_COARSE_LOCATION;

Log.e("TAG", "onRequestPermissionsResult 申請(qǐng)權(quán)限");

//申請(qǐng)權(quán)限

ActivityCompat.requestPermissions(this,? ? ? ?permissions,MY_LBS_PERMISSION_REQUEST_CODE);

}

//處理權(quán)限請(qǐng)求

@Override

public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {

if (requestCode ==MY_LBS_PERMISSION_REQUEST_CODE) {

boolean isAllGranted =true;

? ? for (int grant : grantResults) {

if (grant != PackageManager.PERMISSION_GRANTED) {

isAllGranted =false;

break;

? ? ? ? }

}

if (isAllGranted) {

Log.e("TAG", "onRequestPermissionsResult 同意");

? ? }else {

List notAsk =new ArrayList();

? ? ? ? for (String permission : permissions) {

Log.e("TAG", "onRequestPermissionsResult - 循環(huán) -");

? ? ? ? ? ? if (!ActivityCompat.shouldShowRequestPermissionRationale(this, permission)

ContextCompat.checkSelfPermission(this, permission) != PackageManager.PERMISSION_GRANTED) {

notAsk.add(permission);

? ? ? ? ? ? }

}

if (notAsk.size() 0) {//拒絕不再提醒

? ? ? ? ? ? Log.e("TAG", "onRequestPermissionsResult 拒絕不再提醒");

? ? ? ? }else {

? ? ? ? ? ? ?Log.e("TAG", "onRequestPermissionsResult 本次拒絕");

? ? ? ? }

}

}

}

/**

* 檢查是否有某個(gè)權(quán)限

* @param context? ? context

* @param permission 權(quán)限

* @return true means has

*/

public static boolean hasPermission(Context context, String permission) {

return ContextCompat.checkSelfPermission(context, permission) == PackageManager.PERMISSION_GRANTED;

}


網(wǎng)站標(biāo)題:android權(quán)限申請(qǐng),android 權(quán)限管理
文章網(wǎng)址:http://weahome.cn/article/dsdisdo.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部