Android问题:手电筒功能无法打开闪光灯

布局文件是这样的:

<uses-permission android:name="android.permission.CAMERA" />

    <uses-permission android:name="android.permission.FLASHLIGHT" />
  
    <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
   
    <uses-permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT" />
   
    <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
    
    <uses-feature
        android:name="android.hardware.camera"
        android:required="false" />
    <uses-feature
        android:name="android.hardware.camera.flash"
        android:required="false" />
    <uses-feature 
        android:name = "android.hardware.camera.autofocus" />

启动和关闭代码是这样的:

public void openFlashlight(){
		TransitionDrawable drawable = (TransitionDrawable)mImageViewFlashlight.getDrawable();
		drawable.startTransition(200);
		mImageViewFlashlight.setTag(true);
			
		try{
			mCamera = Camera.open();
			int textureId = 0;
		    mCamera.setPreviewTexture(new SurfaceTexture(textureId));
		    
		    mParameters = mCamera.getParameters();
		    
		    mParameters.setFlashMode(Parameters.FLASH_MODE_TORCH);
		    mCamera.setParameters(mParameters);
		    
		}
		catch(Exception e){
			//TODO: handle exception
		}
		
	}
     
	@SuppressWarnings("deprecation")
	public void closeFlashlight()
	{
		TransitionDrawable drawable = (TransitionDrawable)mImageViewFlashlight.getDrawable();
		if(((Boolean)mImageViewFlashlight.getTag()))
		{
			drawable.reverseTransition(200);
			mImageViewFlashlight.setTag(false);
			if(mCamera!=null)
			{
				mParameters = mCamera.getParameters();
				mParameters.setFlashMode(Parameters.FLASH_MODE_OFF);
				mCamera.setParameters(mParameters);
				mCamera.stopPreview();
				mCamera.release();
				mCamera = null;
			}
		}
	}

但是,安装之后,打不开闪光灯。

我的代码和视频教程的代码几乎一模一样的,逻辑上也一样。

然后,我发现在手机上点击安装apk文件的时候,有权限问题:控制闪光灯、拍照和视频、读取主屏幕和快捷方式、卸载快捷方式、安装快捷方式。

点击安装后,有个选项是:我该信任该程序的按钮,当然选择信任,否则Android系统会不接受“高风险权限的限制:拍照和录像”。

之后就好了。

你可能感兴趣的:(Android问题:手电筒功能无法打开闪光灯)