Android 为什么我的手电筒在点击带有意图功能的按钮时会熄灭?

Android 为什么我的手电筒在点击带有意图功能的按钮时会熄灭?,android,android-activity,android-camera,Android,Android Activity,Android Camera,我是android编程新手,我不明白为什么我的手电筒在点击一个按钮启动另一个具有意图的活动时会熄灭?我搜索过这个,但没有找到类似的。我看了别人的想法,但最接近的想法是使用服务,而不是我主要活动中的活动。是否可以将我的活动更改为服务,或者是解决此问题的另一种方法 tbOnOff = (ToggleButton) findViewById(R.id.togglebutton); tbOnOff.setOnCheckedChangeListener(new CompoundButton.

我是android编程新手,我不明白为什么我的手电筒在点击一个按钮启动另一个具有
意图的
活动时会熄灭?我搜索过这个,但没有找到类似的。我看了别人的想法,但最接近的想法是使用
服务
,而不是我主要活动中的
活动
。是否可以将我的
活动
更改为
服务
,或者是解决此问题的另一种方法

 tbOnOff = (ToggleButton) findViewById(R.id.togglebutton);

 tbOnOff.setOnCheckedChangeListener(new     CompoundButton.OnCheckedChangeListener() {
 public void onCheckedChanged(CompoundButton buttonView,
         boolean isChecked) {
     if (isChecked) {
         if (camera == null) {
             camera = Camera.open();
             parameters = camera.getParameters();
             parameters.setFlashMode(Parameters.FLASH_MODE_TORCH);
             camera.setParameters(parameters);
         }
     } else {
         if (camera != null) {
             parameters.setFlashMode(Parameters.FLASH_MODE_OFF);
             camera.setParameters(parameters);
             camera.release();
             camera = null;
         }
     }
 }
 });

 boolean checkFlash = context.getPackageManager().hasSystemFeature(
     PackageManager.FEATURE_CAMERA_FLASH);
 if (!checkFlash) {
 tbOnOff.setEnabled(false);
 Toast.makeText(context, "LED Not Available!", Toast.LENGTH_LONG)
         .show();
 }
}

// release camera when onPause called

@Override
protected void onPause() {
    // TODO Auto-generated method stub
    super.onPause();
    if (camera != null) {
        parameters.setFlashMode(Parameters.FLASH_MODE_OFF);
        camera.setParameters(parameters);
        camera.release();
        camera = null;
    }
}

public void send(View arg1) {
    Intent i = new Intent(this, InformationActivity.class);         
    startActivity(i);
}

这就是我的LED灯代码和意图。

当你开始一个新的
活动时,它会立即被带到前台,这意味着你是原创的
活动
也会立即暂停。既然您在
onPause()
中关闭了手电筒,那么它就是这么做的


至于你的另一个问题,是的,如果你想让手电筒保持独立于
活动
,那么
服务
就是一种方法,与您希望独立于
活动
生命周期的任何其他内容一样。

如果我将其替换为扩展服务,我的应用程序是否会像在扩展活动上一样运行?否,
服务
不同于
活动
,你可能想阅读Android文档。是的,我已经阅读了这些文档,因此该服务没有与活动不同的UI,我认为最适用于小部件。我如何以其他方式解决问题?哪种“其他”方式?不使用
服务
?困难重重。您无法在
onPause()
中释放相机,但这会导致其他问题,因为您可能希望在某个阶段释放相机。您可以使用
活动
服务
,并在它们之间进行通信。但现在这已经相当广泛了。