日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

Android 6.0及以上版本动态申请权限,11权限

發(fā)布時(shí)間:2023/12/10 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android 6.0及以上版本动态申请权限,11权限 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {//安卓11文件權(quán)限// 先判斷有沒(méi)有權(quán)限if (Environment.isExternalStorageManager()) {//已有權(quán)限-----------------onHeadClick();} else {Intent intent = new Intent(Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION);intent.setData(Uri.parse("package:" + getPackageName()));startActivity(intent);return;} }

if (ActivityCompat.checkSelfPermission(context, Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) {// TODO: Consider calling// ActivityCompat#requestPermissions// here to request the missing permissions, and then overriding// public void onRequestPermissionsResult(int requestCode, String[] permissions,// int[] grantResults)// to handle the case where the user grants the permission. See the documentation// for ActivityCompat#requestPermissions for more details.return 1; }

1.需要用戶手動(dòng)賦予的權(quán)限( Dangerous Permissions)

所屬權(quán)限組權(quán)限
日歷READ_CALENDAR
日歷WRITE_CALENDAR
相機(jī)CAMERA
聯(lián)系人READ_CONTACTS
聯(lián)系人WRITE_CONTACTS
聯(lián)系人GET_ACCOUNTS
位置ACCESS_FINE_LOCATION
位置ACCESS_COARSE_LOCATION
麥克風(fēng)RECORD_AUDIO
電話READ_PHONE_STATE
電話CALL_PHONE
電話READ_CALL_LOG
電話WRITE_CALL_LOG
電話ADD_VOICEMAIL
電話USE_SIP
電話PROCESS_OUTGOING_CALLS
傳感器BODY_SENSORS
短信SEND_SMS
短信RECEIVE_SMS
短信READ_SMS
短信RECEIVE_WAP_PUSH
短信RECEIVE_MMS
存儲(chǔ)READ_EXTERNAL_STORAGE
存儲(chǔ)WRITE_EXTERNAL_STORAGE

還有指紋識(shí)別權(quán)限:

<uses-permission android:name="android.permission.USE_FINGERPRINT" /> 注意:如果應(yīng)用程序請(qǐng)求在AndroidManifest中列出的危險(xiǎn)權(quán)限,并且應(yīng)用程序已經(jīng)在同一權(quán)限組中具有另一個(gè)危險(xiǎn)權(quán)限,系統(tǒng)會(huì)立即授予權(quán)限,而不會(huì)與用戶進(jìn)行任何交互,。例如,如果一個(gè)應(yīng)用程序先前已經(jīng)請(qǐng)求并被授予READ_CONTACTS權(quán)限,然后它請(qǐng)求WRITE_CONTACTS(同屬于聯(lián)系人一組),系統(tǒng)會(huì)立即授予該權(quán)限,不會(huì)再?gòu)棾鰴?quán)限授予詢問(wèn)的對(duì)話框。

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

首先,需要在AndroidManifest.xml靜態(tài)申請(qǐng)權(quán)限,否則無(wú)法動(dòng)態(tài)申請(qǐng)權(quán)限,以下代碼位置不能放錯(cuò)(在application之外):

<uses-permission android:name="android.permission.上表的權(quán)限字符" />

3、java代碼申請(qǐng)權(quán)限、如下申請(qǐng)相機(jī)和文件讀寫權(quán)限

public class MainActivity extends AppCompatActivity {private static final String[] authBaseArr = {//申請(qǐng)類型Manifest.permission.CAMERA,Manifest.permission.WRITE_EXTERNAL_STORAGE};private static final int authBaseRequestCode = 1;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initNavi();//申請(qǐng)權(quán)限}private boolean hasBasePhoneAuth() {PackageManager pm = getPackageManager();for (String auth : authBaseArr) {if (pm.checkPermission(auth, getPackageName()) != PackageManager.PERMISSION_GRANTED) {return false;}}return true;}private void initNavi() {// 申請(qǐng)權(quán)限if (android.os.Build.VERSION.SDK_INT >= 23) {if (!hasBasePhoneAuth()) {this.requestPermissions(authBaseArr, authBaseRequestCode);return;}}}}

3、實(shí)現(xiàn)方法2——簡(jiǎn)便實(shí)現(xiàn)

1、添加依賴

implementation 'pub.devrel:easypermissions:1.2.0'

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

String[] perms = {Manifest.permission.WRITE_EXTERNAL_STORAGE,Manifest.permission.READ_EXTERNAL_STORAGE,Manifest.permission.ACCESS_COARSE_LOCATION,Manifest.permission.ACCESS_FINE_LOCATION}; if (!EasyPermissions.hasPermissions(this, perms)) {EasyPermissions.requestPermissions(this, "App正常運(yùn)行需要存儲(chǔ)權(quán)限、媒體權(quán)限", 1, perms); }

4、獲取權(quán)限原生方法

ActivityCompat.requestPermissions(TongxunluActivity.this, new String[]{Manifest.permission.READ_CONTACTS}, 1);

ActivityCompat.requestPermissions(TongxunluActivity.this, new String[]{Manifest.permission.READ_CONTACTS,Manifest.permission.READ_EXTERNAL_STORAGE}, 1);

protected static String[] permissions = {Manifest.permission.READ_EXTERNAL_STORAGE,Manifest.permission.WRITE_EXTERNAL_STORAGE,Manifest.permission.READ_PHONE_STATE };

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {requestPermissions(permissions, 1);return; }

總結(jié)

以上是生活随笔為你收集整理的Android 6.0及以上版本动态申请权限,11权限的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。