我试图制作一个非常基本的手电筒应用程序。当用户打开应用程序时,没有布局会膨胀,手电筒将打开。一旦用户第二次打开手电筒,手电筒将关闭。似乎打开手电筒并不麻烦,但是当应用程序第二次启动时将其关闭,这就是我有点不确定的地方。我不太确定如何解决这个问题,任何帮助将不胜感激!
到目前为止我所拥有的:
package com.example.rifatrashid.lighter;
import android.app.Activity;
import android.content.pm.PackageManager;
import android.hardware.Camera;
import android.os.Bundle;
public class MainActivity extends Activity {
private boolean haslight;
private Integer val = 0;
private Camera camera;
private Camera.Parameters parameters;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
haslight = getApplicationContext().getPackageManager().hasSystemFeature((PackageManager.FEATURE_CAMERA_FLASH));
if(!haslight) {
}
camera = Camera.open();
parameters = camera.getParameters();
val++;
if(val>1)
val=0;
switch (val){
case 1:
parameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
camera.setParameters(parameters);
camera.startPreview();
break;
case 0:
camera.stopPreview();
camera.release();
break;
}
}
}
答案 0 :(得分:3)
看起来你已经使用了一个类变量来切换灯光,所以看起来你要做的就是将整个事情从onCreate()
移到onResume()
。但是,由于您没有UI,因此整个过程可能无法正常运行。试试吧。您应该实现一个透明的内容视图,至少可以说。
修改以实现不可用的UI窗口,只有一个空白活动,并使用finish()
方法和onResume()
中的overridePendingTransition(0,0)
关键字显示一个屏幕闪烁。
希望这有帮助,