相关疑难解决方法(0)

在Android中使用相机手电筒

我正试图在小部件中使用相机LED手电筒.我已经找到了关于这个主题的几个主题(即后面提到的那个 ......),现在我正试图控制灯光使用:

Camera cam = Camera.open();     
Parameters p = cam.getParameters();
p.setFlashMode(Parameters.FLASH_MODE_TORCH);
cam.setParameters(p);
cam.release();
Run Code Online (Sandbox Code Playgroud)

在AndroidManifest.xml中尝试了不同的权限,目前我有:

<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.FLASHLIGHT"/>
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
<uses-feature android:name="android.hardware.camera.flash" />
Run Code Online (Sandbox Code Playgroud)

我正在Galaxy Tab上测试这个,因为我手头没有任何其他Android设备:灯没亮.所以我现在有几个问题:

  1. 有没有办法测试仿真器中的led灯行为?
  2. 我在这里做错了吗?
  3. 根据这个处理相同问题的问题,它在Galaxy Tab上的工作方式不同.怎么样?
  4. 最后,如果它的工作方式不同,我开始怀疑它是否仅仅是Galaxy Tab或其他设备是否也使用不同的方法.那时很难测试,对我来说似乎很奇怪.

感谢您的任何见解!

顺便说一句,我很快就通过快速设置进行了测试,这里提到了几次.手电筒也不能用于快速设置.

请注意,Galaxy Tab stil使用android 2.2.我看到2.2和2.3之间有一些变化.

评论:我知道它必须以某种方式工作,因为我发现市场上的其他应用程序与Galaxy Tab完美配合.

评论2:如果我设置了cam.setParameters(p); 并使用getFlashMode()直接向相机询问当前状态,它正确返回FLASH_MODE_TORCH.但是,如果我释放相机并重新打开它,它将返回FLASH_MODE_OFF.这几乎就像Camera对象知道了请求,但并没有真正将它传递给硬件!?

-

康斯坦丁评论后,我删除了cam.release(); 部分.他是对的,如果你松开相机,设置就不会持续存在.如果再次使用cam.open(),您将获得一个关闭灯的新实例.尽管如此,光还没有在星系标签上工作.所以,如果你试图通过一个小部件来控制它,我想很难保持亮点.一旦后台服务完成,相机对象就会自动释放,因此灯会再次关闭.我的问题仍然存在,特别是为什么相机不能在一开始就打开.

android android-camera flashlight

53
推荐指数
4
解决办法
8万
查看次数

android java lang runtimeexception无法连接到摄像头服务

我目前正致力于手电筒开/关.我收到此错误java.lang.RuntimeException: Fail to connect to camera service我不知道为什么会发生此错误.我提到了许多解决方案,但我的问题仍未解决.当手电筒打开时,不会发生错误,但是当手电筒关闭时则会发生错误.

我的代码主要代码.

我的清单许可:

<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus"/>
Run Code Online (Sandbox Code Playgroud)

android android-camera flashlight

51
推荐指数
6
解决办法
9万
查看次数

在Android中打开/关闭相机手电筒的小工具

我正在开发一个用于打开/关闭手机摄像头的小部件.

我创建了一个可以像切换按钮(开/关)一样工作的小部件.

行为如下所示:当我启用小部件时,有时候led灯仍然亮着.但它不会打开/关闭相机,但它会改变图标.

我无法弄清楚实际问题是什么.

在Activity(火炬之光应用程序)中同样适用.

任何人都可以解释我如何解决我的问题?

我哪里错了?

你可以查看我到目前为止所做的代码

onUpdate 方法

@Override
    public void onUpdate(Context context, AppWidgetManager appWidgetManager,
            int[] appWidgetIds) {

         //super.onUpdate(context, appWidgetManager, appWidgetIds);

        remoteViews = new RemoteViews( context.getPackageName(), R.layout.widgetlayout);
        watchWidget = new ComponentName( context, FlashLightWidget.class );

        Intent intentClick = new Intent(context,FlashLightWidget.class);
        intentClick.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, ""+appWidgetIds[0]);

        PendingIntent pendingIntent = PendingIntent.getBroadcast(context, appWidgetIds[0],intentClick, 0);
        remoteViews.setOnClickPendingIntent(R.id.myToggleWidget, pendingIntent);
        appWidgetManager.updateAppWidget( watchWidget, remoteViews );
        ctx=context;      
    }
Run Code Online (Sandbox Code Playgroud)

onReceive 方法如下:

@Override

    public void onReceive(Context context, Intent intent) {
        // TODO Auto-generated method stub

        remoteViews = new RemoteViews( context.getPackageName(), R.layout.widgetlayout);
        if (intent.getAction()==null) …
Run Code Online (Sandbox Code Playgroud)

android widget android-widget android-camera android-appwidget

37
推荐指数
2
解决办法
3万
查看次数

我可以更改Android设备的LED强度吗?

有没有办法设置我想要的LED强度?我知道打开我使用的LED:

     p.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
     mycam.setParameters(p);
Run Code Online (Sandbox Code Playgroud)

但是这段代码只是打开了LED.但有没有办法为LED设置不同的强度以获得更强的光线或降低光线强度?

camera android led flashlight camera-flash

36
推荐指数
2
解决办法
4万
查看次数

Galaxy Nexus上的LED手电筒可通过什么API控制?

如此多的LED手电筒API问题适用于Android.我不敢问另一个,但是这里......

使用经过验证的真实FLASH_MODE_TORCH,我可以满足我的三星Galaxy SII并启用LED闪光灯.在我朋友的Galaxy Nexus上,没有这样的运气.也不是我的另一个朋友的Droid X.

我注意到似乎需要特定的本机IOCTL调用的设备数量不是很少.这是Galaxy Nexus的情况吗?我如何找到编程参考?

我正在做标准的FLASH_MODE_TORCH /"flash-mode"="torch",startPreview()链.

令人失望的是,这个看似标准的API似乎并不是那么普遍.

android led flashlight

25
推荐指数
1
解决办法
2万
查看次数

打开/关闭Samsung Galaxy Ace 2.2.1和Galaxy Tab中的相机LED /闪光灯

我正在使用相机LED灯FLASH_MODE_ON.

三星Galaxy Ace只有三种闪光模式:开,关和自动.

FLASH_MODE_TORCH 不适用于三星Galaxy Tab和三星Galaxy Ace 2.2.1

这是我的代码如何打开我的相机LED

    Camera cam;
    cam = Camera.open();     
    Parameters params = cam.getParameters();
    params.setFlashMode(Parameters.FLASH_MODE_ON);
    cam.setParameters(params);
    cam.startPreview();
    cam.autoFocus(new AutoFocusCallback() {
                public void onAutoFocus(boolean success, Camera camera) {
                }
     });
Run Code Online (Sandbox Code Playgroud)

并通过使用以下来关闭它:

cam.stopPreview();
cam.release();
Run Code Online (Sandbox Code Playgroud)

代码参考:在Android中使用相机手电筒

但问题是LED灯仅持续5秒钟.然后它会自动关闭.

任何人都可以告诉问题可能在哪里.或者任何方式连续打开LED灯直到它要求停止.

android android-camera galaxy flashlight samsung-mobile

18
推荐指数
1
解决办法
11万
查看次数

10
推荐指数
1
解决办法
3240
查看次数

打开Galaxy Nexus的手电筒

我正在开发一款需要打开Galaxy Nexus设备手电筒的应用程序.我在这里提到了这个帖子

Galaxy Nexus上的LED手电筒可通过什么API控制?

public class TestCamera extends Activity implements SurfaceHolder.Callback{
Camera mCamera;
public static SurfaceView preview;
public static SurfaceHolder mHolder;
public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    preview = (SurfaceView) findViewById(R.id.camSurface);
    mHolder = preview.getHolder();
    mCamera = Camera.open();
    try {
        mCamera.setPreviewDisplay(mHolder);
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    Button onLEDbtn = (Button) findViewById(R.id.onLED_btn);
    onLEDbtn.setOnClickListener(new OnClickListener(){

        public void onClick(View v) {
            // TODO Auto-generated method stub
            Toast.makeText(getApplicationContext(), "test", Toast.LENGTH_SHORT).show();
            Parameters params = mCamera.getParameters();
            params.setFlashMode(Parameters.FLASH_MODE_TORCH);
            mCamera.setParameters(params);      
            mCamera.startPreview();
        } …
Run Code Online (Sandbox Code Playgroud)

android android-camera

8
推荐指数
2
解决办法
4213
查看次数

CameraX库如何打开/关闭手电筒?

我正在开发一种功能,可以将手电筒切换为开/关状态。几天前,我们在io2019中看到了来自Google的新库。我想出了一个主意,为什么不使用它。

一段时间后,我看不出有任何可能使用库中唯一的割炬。

即使在官方文档中,我也找不到适合我的任何有用信息,而且,他们中的示例应用程序也不必处理我的案件。

您是否有一些容易实现的想法,或者您知道如何使用CameraX做到这一点?

我担心使用camera或camera2,因为要粘贴的代码量太糟糕了。

友情链接

[1] https://developer.android.com/training/camerax

[2] https://proandroiddev.com/android-camerax-preview-analyze-capture-1b3f403a9395

[3] https://github.com/android/camera/tree/master/CameraXBasic

[4] https://github.com/android/camera/tree/master/CameraXBasic

CameraX是一个Android Jetpack库,旨在简化相机开发。

camera android android-camera flashlight android-camerax

8
推荐指数
8
解决办法
1194
查看次数

当其他应用程序请求时,如何释放相机?

我有两个使用相机的应用程序:

  1. 我开发的手电筒应用程序
  2. 相机应用程序

手电筒应用程序打开相机,打开闪光灯,然后在后台运行.但是,如果在手电筒开启时启动相机应用程序,相机应用程序中会出现错误,因为相机已被手电筒应用程序使用:

无法获得设备

在手电筒应用程序中,如何在其他应用程序请求时释放相机?

camera android flashlight

5
推荐指数
1
解决办法
5009
查看次数