先在AndroidManifest中获取一次权限
<!--拍照-->
<uses-permission android:name="android.permission.CAMERA" />
<!--写入SD卡的权限:如果你希望保存相机拍照后的照片-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!--读取SD卡的权限:打开相册选取图片所必须的权限-->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<!--网络-->
<uses-permission android:name="android.permission.INTERNET"/>之后,在MAinactivity的oncreate中调用以下函数。
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {//版本判断
if (checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE,Manifest.permission.CAMERA}, 1);
}
}
//一个权限没有,就一次申请所有所需的权限,这样可以在打开应用的时候获得所有权限除外,相机的打开还需要三行代码。见下
StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder();
StrictMode.setVmPolicy(builder.build());
builder.detectFileUriExposure(); //7.0拍照必加