国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

動(dòng)態(tài)權(quán)限及利用ContentResolver讀取系統(tǒng)的可共享數(shù)據(jù)

2019-11-06 09:55:58
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

動(dòng)態(tài)權(quán)限對(duì)照的參考如下;開(kāi)啟組中其中一個(gè)權(quán)限的授權(quán)則組內(nèi)其他授權(quán)也會(huì)被打開(kāi);

//需要在6.0后做動(dòng)態(tài)權(quán)限的權(quán)限組,其中開(kāi)啟某一權(quán)限組中一個(gè)則默認(rèn)開(kāi)啟組中其他權(quán)限;;; <!-- CALENDAR--> <uses-permission android:name="android.permission.READ_CALENDAR"/> <uses-permission android:name="android.permission.WRITE_CALENDAR"/> <!-- CAMERA--> <uses-permission android:name="android.permission.CAMERA"/> <!-- CONTACTS--> <uses-permission android:name="android.permission.READ_CONTACTS"/> <uses-permission android:name="android.permission.WRITE_CONTACTS"/> <uses-permission android:name="android.permission.GET_ACCOUNTS"/> <!-- LOCATION--> <uses-permission android:name="android.permission.access_COARSE_LOCATION"/> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> <!-- PHONE--> <uses-permission android:name="android.permission.READ_PHONE_STATE"/> <uses-permission android:name="android.permission.CALL_PHONE"/> <uses-permission android:name="android.permission.READ_CALL_LOG"/> <uses-permission android:name="android.permission.WRITE_CALL_LOG"/> <uses-permission android:name="android.permission.USE_S1: 如果在程序的所需權(quán)限中有包含如下的權(quán)限,則需要使用動(dòng)態(tài)權(quán)限來(lái)處理,以免會(huì)出現(xiàn)異常的情況;

下面的例子:

//相等則已經(jīng)授權(quán),不相等則沒(méi)有授權(quán),需要請(qǐng)授權(quán); if(ContextCompat.checkSelfPermission(this,Manifest.permission.READ_CONTACTS ) != PackageManager.PERMISSION_GRANTED) { //請(qǐng)求授權(quán) ActivityCompat.requestPermissions(this,new String[]{Manifest.permission.READ_CONTACTS},1); }else{ //接著做自己的事情 getContacts(); }

2: 授權(quán)申請(qǐng)的時(shí)候會(huì)產(chǎn)生一個(gè)回調(diào)函數(shù),如下:

@Override public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); switch (requestCode){ case 1: if(grantResults.length>0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { //接著做自己的事情 getContacts(); }else { Toast.makeText(ConProActivity.this, "權(quán)限被拒!", Toast.LENGTH_SHORT).show(); } break; } }

下面是利用ContentResolver來(lái)獲取系統(tǒng)的共享數(shù)據(jù)資源,電話號(hào),短息,圖片等等;

private void getContacts() { ContentResolver contentResolver = getContentResolver(); Cursor cursor = contentResolver.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null, null, null); if(cursor!=null) { while (cursor.moveToNext()){ int nameIndex = cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME); int numIndex = cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER); String name = cursor.getString(nameIndex); String num = cursor.getString(numIndex); Toast.makeText(ConProActivity.this, name+", "+num, Toast.LENGTH_SHORT).show(); } cursor.close(); } }
發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 吴桥县| 越西县| 荔浦县| 神木县| 西城区| SHOW| 张掖市| 当涂县| 天津市| 肇州县| 普格县| 石台县| 长岛县| 德兴市| 孟津县| 柳林县| 吴旗县| 桂林市| 桑日县| 旌德县| 新化县| 临漳县| 安化县| 牟定县| 沙河市| 定襄县| 个旧市| 青岛市| 通州市| 长沙县| 井研县| 崇左市| 奉化市| 泉州市| 宜阳县| 江华| 山东省| 高碑店市| 蒲城县| 土默特左旗| 靖远县|