在Android 6.0 版之後,想讀取使用者的行動裝置資料,需要經過使用都的准許後,才可以做使用,所以,在此記錄。
import android.Manifest;//需要import的函式庫
public static final int REQUEST_EXTERNAL_STORAGE = 1; //宣告
private static String[] PERMISSIONS_STORAGE = {Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE}; //宣告要開放的權限,這裡有讀、寫
//如果版本小於 23 就是 6.0 以下的版本,就不會跑下面方法
if (Build.VERSION.SDK_INT >= 23) {
//訊問使用者
int permission = ActivityCompat.checkSelfPermission(this,
Manifest.permission.WRITE_EXTERNAL_STORAGE); //檢查權限狀態
if (permission != PackageManager.PERMISSION_GRANTED) {
//未取得權限,向使用者要求允許權限
ActivityCompat.requestPermissions(this, PERMISSIONS_STORAGE, REQUEST_EXTERNAL_STORAGE); //跳出准許的訊號框
} else {
//已有權限,可進行檔案存取}
}
}
/**
* 請求權限回繢
*
* @param requestCode
* @param permissions
* @param grantResults
*/
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (requestCode == 1) {
if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
//表示授權成功
}
}
}
沒有留言:
張貼留言