安卓6.0以后,相机的权限就要动态申请了,这两天到处查找,终于找到个不错的方案。
1.在项目的build.gradle(app)中添加
dependencies {
......
compile 'pub.devrel:easypermissions:0.1.5'
}
2.获取相机权限的Activity中继承EasyPermissions.PermissionCallbacks这个接口
public class newLoginActivity extends AppCompatActivity implements EasyPermissions.PermissionCallbacks {}
3.在要获取权限的地方加一个权限判断,如果没有权限就申请权限
if (EasyPermissions.hasPermissions(this, Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
Log.d("相机权限==========", "有: ");
//photo();
}else{
Log.d("相机权限==========", "没有: ");
ActivityCompat.requestPermissions(this,new String[]{Manifest.permission.CAMERA},123);
ActivityCompat.requestPermissions(newLoginActivity.this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 2);
}
这样即可使手机能正常获取相机权限