gpt4 book ai didi

Android:在锁定屏幕的情况下运行应用程序

转载 作者:行者123 更新时间:2023-11-29 01:31:56 25 4
gpt4 key购买 nike

Android 编程新手。我正在尝试在 android studio 中创建一个非常简单的手电筒应用程序,我希望能够在手机锁定时作为后台 Activity 运行该应用程序。我知道我应该使用 Service 但我不知道如何或在我的代码中在哪里实现它。谢谢。

主要 Activity :

public class MainActivity extends Activity {

//flag to detect flash is on or off
private boolean isLightOn = false;

private Camera camera;


private ImageButton button;


@Override
protected void onStop() {
super.onStop();

if (camera != null) {
camera.release();
}
}

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

button = (ImageButton) findViewById(R.id.imageButton);




Context context = this;
PackageManager pm = context.getPackageManager();

// if device support camera?
if (!pm.hasSystemFeature(PackageManager.FEATURE_CAMERA)) {
return;
}

camera = open();
final Parameters p = camera.getParameters();

button.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {

if (isLightOn) {
p.setFlashMode(FLASH_MODE_OFF);
camera.setParameters(p);
camera.stopPreview();
isLightOn = false;
button.setImageResource(R.drawable.onbuttontrans);

} else {

p.setFlashMode(Parameters.FLASH_MODE_TORCH);
camera.setParameters(p);
camera.startPreview();
button.setImageResource(R.drawable.offbuttontrans);
isLightOn = true;

}

}
});

list :

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.g131146.flashlight" >

android:versionCode="1"
android:versionName="1.0" >

<uses-sdk android:minSdkVersion="10" />

<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />


<application android:theme="@android:style/Theme.Black.NoTitleBar"
android:icon="@drawable/appicon">

<activity
android:label="Flashlight"
android:name=".MainActivity">


<intent-filter >

<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>

</manifest>

最佳答案

我遇到了类似的问题,通过以下方法解决了。这里我们基本上把onPause和onStop方法中的代码结合起来了。因此,您可以注释掉其中的代码。我并没有真正使用任何服务,因为这解决了问题。希望能帮助到你!在您的 MainActivity 中添加:

@Override

public void onBackPressed() {

super.onBackPressed();
myParameters = myCamera.getParameters();
myParameters.setFlashMode(Parameters.FLASH_MODE_OFF);
myCamera.setParameters(myParameters);
myCamera.stopPreview();
FlashOn = false;//this is a boolean

if (myCamera != null) {
myCamera.release();
myCamera = null;
}
}

关于Android:在锁定屏幕的情况下运行应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30719828/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com