大佬教程收集整理的这篇文章主要介绍了android – 手电筒需要哪些权限?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://scheR_530_11845@as.android.com/apk/res/android" package="com.Torch"> <uses-permission android:name="android.permission.FLASHLIGHT" /> <application android:allowBACkup="true" android:icon="@mipmap/ic_launcher" android:label="@String/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name="com.Torch.MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
错误日志:
03-28 15:29:23.439 7163-7163/com.Torch E/AndroidRuntime: FATAL EXCEPTION: main Process: com.Torch,PID: 7163 java.lang.RuntimeException: Unable to start activity ComponenTinfo{Com.Torch/com.Torch.MainActivity}: java.lang.RuntimeException: Fail to connect to camera service at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2493) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2555) at android.app.ActivityThread.access$800(ActivityThread.java:176) at android.app.ActivityThread$H.handlemessage(ActivityThread.java:1437) at android.os.Handler.dispatchmessage(Handler.java:111) at android.os.Looper.loop(Looper.java:194) at android.app.ActivityThread.main(ActivityThread.java:5576) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:956) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:751) Caused by: java.lang.RuntimeException: Fail to connect to camera service at android.hardware.Camera.<init>(Camera.java:637) at android.hardware.Camera.open(Camera.java:496) at com.Torch.MainActivity.onCreate(MainActivity.java:33) at android.app.Activity.performCreate(Activity.java:6005) at android.app.instrumentation.callActivityOnCreate(instrumentation.java:1111) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2446) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2555) at android.app.ActivityThread.access$800(ActivityThread.java:176) at android.app.ActivityThread$H.handlemessage(ActivityThread.java:1437) at android.os.Handler.dispatchmessage(Handler.java:111) at android.os.Looper.loop(Looper.java:194) at android.app.ActivityThread.main(ActivityThread.java:5576) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:956) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:751)
对于Android M设备一定要征得许可
if((ContextCompat.checkSelfPermission(getActivity(),Manifest.permission.FLASHLIGHT) != PackageManager.PERMISSION_GRANTED) || (ContextCompat.checkSelfPermission(getActivity(),Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED)){ // user permission not granted // ask permission requestPermissions(new String[]{Manifest.permission.FLASHLIGHT,Manifest.permission.CAMERA}); } else{ // user already provided permission } @Override public void onrequestPermissionsResult(int requestCode,String[] permissions,int[] grantResults) { Boolean canUseCamera = false; Boolean canUseFlash = false; switch (requestCodE) { case PERMISSION_CODE_CAMERA: { if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { canUseCamera = true; } if (grantResults.length > 1 && grantResults[1] == PackageManager.PERMISSION_GRANTED) { canUseFlash = true; } if (!canUseCamera || !canUseFlash ) { Toast.makeText(getActivity(),"CAnnot use this feature without requested permission",Toast.LENGTH_SHORT).show(); } else { // do your actual task } } } }
以上是大佬教程为你收集整理的android – 手电筒需要哪些权限?全部内容,希望文章能够帮你解决android – 手电筒需要哪些权限?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。