安卓6.0+需要进行动态权限申请
AndroidManifest.xml
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
BaseActivity.java
public abstract class BaseActivity extends AppCompatActivity {
/**
* 需要请求的权限
*/
private String[] mPermissions = {
//读取权限
Manifest.permission.READ_EXTERNAL_STORAGE,
//写入权限
Manifest.permission.WRITE_EXTERNAL_STORAGE};
/**
* 未授权的权限
*/
private List<String> mPermissionList = new ArrayList<>();
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.****);
//加载权限
initPermission();
}
/**
* 动态申请权限
*/
private void initPermission() {
for (String permission : mPermissions) {
//添加 未授权的权限 到列表中
if (ContextCompat.checkSelfPermission(getApplication(), permission) != PackageManager.PERMISSION_GRANTED) {
mPermissionList.add(permission);
}
}
//请求 未授权的权限
if (mPermissionList.size() != 0) {
String[] objects = mPermissionList.toArray(new String[mPermissionList.size()]);
ActivityCompat.requestPermissions(this, objects, 0);
}
}
}