我正在忙着开/关照相机手电筒。
我想做的是:
我用ToggleButton启动和停止相机发光二极管。
以下是我所做的:
toggleLED.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
if (toggleLED.isChecked())
{
startLED();
}
else
{
stopLED();
}
}
});到目前为止,我已经成功地打开和关闭了摄像机灯。
用于启动:
void startLED(){
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) {
}
});
}因为关闭:
void stopLED() {
cam.stopPreview();
cam.release();
}托格巴顿的功能很好。
但是我想要的是:我怎么能在n秒钟后关掉摄像机灯呢?
编辑:
我试着用它&它完全起作用了,fine..But,我想知道我是否用正确的方式。
Runnable r = new Runnable()
{
public void run()
{
stopLED();
}
};
toggleLED.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// Perform action on clicks
if (toggleLED.isChecked())
{
startLED();
int onledseconds=pref.getInt(MySettings.SHUTOFF_PERIOD,0);
if(onledseconds!=0)
handler.postDelayed(r,ledonseconds);
}
else
{
stopLED();
}
}
}); 发布于 2011-08-17 13:45:13
我试着用它&它完全起作用了,fine..But,我想知道我是否用正确的方式。
Runnable r = new Runnable()
{
public void run()
{
stopLED();
}
};
toggleLED.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// Perform action on clicks
if (toggleLED.isChecked())
{
startLED();
int onledseconds=pref.getInt(MySettings.SHUTOFF_PERIOD,0);
if(onledseconds!=0)
handler.postDelayed(r,ledonseconds);
}
else
{
stopLED();
}
}
}); 发布于 2011-08-07 15:19:29
使用AlarmManager计划一个PendingIntent,这将关闭相机的灯光。通过使用AlarmManager,您可以确保即使您的应用程序被系统暂停或杀死,它仍将运行。
您可以在安卓:如何使用AlarmManager上看到一些示例代码
https://stackoverflow.com/questions/6972474
复制相似问题