我正在
android studio的Webview的帮助下开发一个Web应用程序,但有一些问题我需要访问打开相机我该怎么做才能在
AndroidManifest.xml中给出以下权限
<uses-permission android:name="android.permission.CAMERA" /> <uses-feature android:name="android.hardware.camera" /> <uses-feature android:name="android.hardware.camera.autofocus" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
我应该怎么做才能打开相机?
解决方法
如果您的应用针对Android 6.0及以上版本而不是添加运行时权限
从Android 6.0(API级别23)开始,用户在应用程序运行时向应用程序授予权限,而不是在安装应用程序时
String permission = Manifest.permission.CAMERA; int grant = ContextCompat.checkSelfPermission(this,permission); if (grant != PackageManager.PERMISSION_GRANTED) { String[] permission_list = new String[1]; permission_list[0] = permission; ActivityCompat.requestPermissions(this,permission_list,1); }
并处理这样的结果
@Override public void onRequestPermissionsResult(int requestCode,@NonNull String[] permissions,@NonNull int[] grantResults) { super.onRequestPermissionsResult(requestCode,permissions,grantResults); if (requestCode == 1) { if (grantResults[0] == PackageManager.PERMISSION_GRANTED) { Toast.makeText(AccountClass.this,"permission granted",Toast.LENGTH_SHORT).show(); // perform your action here } else { Toast.makeText(AccountClass.this,"permission not granted",Toast.LENGTH_SHORT).show(); } } }