打开/关闭手电筒但屏幕锁定的代码?

时间:2017-04-15 09:29:58

标签: android flashlight

我正在使用此代码打开闪光灯(在活动的onCreate方法中)并关闭(在活动的onStop方法中)。问题是,当我按下屏幕锁定按钮时,我的屏幕关闭并锁定,闪光灯也停止了(但我的应用程序仍然在后台运行)。即使我的应用程序最小化或屏幕被锁定,如何保持手电筒开启? 我知道这可能是因为谷歌Playstore上有一些闪光灯应用,即使在最小化或屏幕锁定时也能保持闪光灯开启。

public class MainActivity extends AppCompatActivity {
Context c;
Camera cam;
Camera.Parameters p;

@Override
protected void onStop() {
    super.onStop();
    cam.stopPreview();
    cam.release();
}

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    on();
}

public void on() {
    try {
        if (getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH)) {
            cam = Camera.open();
            p = cam.getParameters();
            p.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
            cam.setParameters(p);
            cam.startPreview();
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}

}

0 个答案:

没有答案