解決android6.0以上不能讀取外部存儲權限的問題
更新時間:2018年08月01日 09:39:26 作者:FansyMeng
今天小編就為大家分享一篇解決android6.0以上不能讀取外部存儲權限的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
通過內容提供者獲取手機sdcard本地視頻時,
/**
* 從本地的sdcard得到數(shù)據(jù)
* //1.遍歷sdcard,后綴名
* //2.從內容提供者里面獲取視頻
* //3.如果是6.0的系統(tǒng),動態(tài)獲取讀取sdcard的權限
*/
private void getDataFromLocal() {
new Thread(){
@Override
public void run() {
super.run();
// isGrantExternalRW((Activity) context);
// SystemClock.sleep(2000);
mediaItems = new ArrayList<>();
ContentResolver resolver = context.getContentResolver();
Uri uri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI;
String[] objs = {
MediaStore.Video.Media.DISPLAY_NAME,//視頻文件在sdcard的名稱
MediaStore.Video.Media.DURATION,//視頻總時長
MediaStore.Video.Media.SIZE,//視頻的文件大小
MediaStore.Video.Media.DATA,//視頻的絕對地址
MediaStore.Video.Media.ARTIST,//歌曲的演唱者
};
Cursor cursor = resolver.query(uri, objs, null, null, null);
if(cursor != null){
while (cursor.moveToNext()){
MediaItem mediaItem = new MediaItem();
mediaItems.add(mediaItem);//寫在上面
String name = cursor.getString(0);//視頻的名稱
mediaItem.setName(name);
long duration = cursor.getLong(1);//視頻的時長
mediaItem.setDuration(duration);
long size = cursor.getLong(2);//視頻的文件大小
mediaItem.setSize(size);
String data = cursor.getString(3);//視頻的播放地址
mediaItem.setData(data);
String artist = cursor.getString(4);//藝術家
mediaItem.setArtist(artist);
}
cursor.close();
}
//Handler發(fā)消息
handler.sendEmptyMessage(10);
}
}.start();
}
/**
* 解決安卓6.0以上版本不能讀取外部存儲權限的問題
* @param activity
* @return
*/
public static boolean isGrantExternalRW(Activity activity) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && activity.checkSelfPermission(
Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
activity.requestPermissions(new String[]{
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE
}, 1);
return false;
}
return true;
}
以上這篇解決android6.0以上不能讀取外部存儲權限的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Android使用ViewPager實現(xiàn)啟動引導頁效果
這篇文章主要為大家詳細介紹了Android使用ViewPager實現(xiàn)啟動引導頁效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-04-04
Android用于加載xml的LayoutInflater源碼超詳細分析
今天不想去聊一些Android的新功能,新特性之類的東西,特別想聊一聊這個老生常談的話題:LayoutInflater,感興趣的朋友來看看吧2022-08-08
基于Android實現(xiàn)隨手指移動的ImageView
這篇文章主要介紹了基于Android實現(xiàn)隨手指移動的ImageView的相關資料,需要的朋友可以參考下2016-01-01

