Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我能';t使用API启动装置中的火炬<=22(使用Android Studio和Unity)。为什么?_Java_Android_Android Studio_Unity3d_Plugins - Fatal编程技术网

Java 我能';t使用API启动装置中的火炬<=22(使用Android Studio和Unity)。为什么?

Java 我能';t使用API启动装置中的火炬<=22(使用Android Studio和Unity)。为什么?,java,android,android-studio,unity3d,plugins,Java,Android,Android Studio,Unity3d,Plugins,朋友们,我正在尝试在unity中创建torch应用程序。从文档中我注意到setTorchMode()仅在API>22时才适用。它适用于API>22。但适用于低于API的情况!!我需要在清单文件中添加摄像头权限;) 是AndroidTrochClass还是AndroidTorchClass?我给troch拼错了torch,但我认为这不是问题,因为我在C#(“com.mugames.torchlibrary.AndroidTrochClass”)中使用了相同的名称来调用该方法。好的,不用担心。请编辑

朋友们,我正在尝试在unity中创建torch应用程序。从文档中我注意到setTorchMode()仅在API>22时才适用。它适用于API>22。但适用于低于API的情况!!我需要在清单文件中添加摄像头权限;)

是AndroidTrochClass还是AndroidTorchClass?我给troch拼错了torch,但我认为这不是问题,因为我在C#(“com.mugames.torchlibrary.AndroidTrochClass”)中使用了相同的名称来调用该方法。好的,不用担心。请编辑您的问题以使其更清晰。有一些令人困惑的部分。为了方便起见,只需遵循以下结构1。问题陈述2。什么在起作用。什么是失败
08-18 09:27:22.343 758-835/? I/ActivityManager: Killing 
14121:com.google.android.partnersetup/u0a7 (adj 15): DHA:empty #19
08-18 09:27:22.343 196-2615/? W/ServiceManager: Permission failure: 
android.permission.CAMERA from uid=10242 pid=14010
08-18 09:27:22.343 196-2615/? E/CameraService: Permission Denial: can't 
use the camera pid=14010, uid=10242
08-18 09:27:22.343 14010-14051/? W/CameraBase: An error occurred while 
connecting to camera: 0
08-18 09:27:22.353 14010-14051/? E/ContentValues: TorchMode: 
java.lang.RuntimeException: Fail to connect to camera service
`enter code here`at android.hardware.Camera.<init>(Camera.java:568)
 at android.hardware.Camera.open(Camera.java:426)
 at 
com.mugames.torchlibrary.AndroidTrochClass.TorchMode
(AndroidTrochClass.java:64)
at com.unity3d.player.UnityPlayer.nativeRender(Native Method)
at com.unity3d.player.UnityPlayer.access$300(Unknown Source)
at com.unity3d.player.UnityPlayer$e$1.handleMessage(Unknown Source)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:145)
at com.unity3d.player.UnityPlayer$e.run(Unknown Source)
private void Awake()
{
    if(!Permission.HasUserAuthorizedPermission(Permission.Camera))
    {
        Permission.RequestUserPermission(Permission.Camera);
    }
}

void Start()
{
    AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
    AndroidJavaObject activity = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity");
    AndroidJavaObject context = activity.Call<AndroidJavaObject>("getApplicationContext");
    javaObject = new AndroidJavaObject("com.mugames.torchlibrary.AndroidTrochClass");
    javaObject.Call("Init", context);
    javaObject.Call("TorchMode", true);
}
        try {
            if(camera== null && parameters==null) {
                camera = Camera.open();
                parameters = camera.getParameters();

                List<String> modesAvailable = parameters.getSupportedFlashModes();
                if (modesAvailable.contains(Camera.Parameters.FLASH_MODE_TORCH)) {
                    parameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
                } else if (modesAvailable.contains((Camera.Parameters.FLASH_MODE_ON))) {
                    parameters.setFlashMode(Camera.Parameters.FLASH_MODE_ON);
                } else {
                    Log.d("Unity", "No Flash Available");
                }
                camera.setParameters(parameters);
            }
            if (state) {
                camera.startPreview();
            } else {
                camera.stopPreview();
            }
        }
        catch (Exception e)
        {
            Log.e(TAG, "TorchMode: ",e);
            e.printStackTrace();
        }