我正在
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(); } } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。