让我的应用程序保持活着 - Android
问题描述:
我正试图在Android 2.2上创建一个应用程序,该应用程序必须运行,无论屏幕处于打开状态还是关闭状态。让我的应用程序保持活着 - Android
我试着通过服务实现它,但是当我的手机关闭服务停止工作的屏幕,我不明白为什么。
在我的应用程序使用
startService(new Intent(this, MyService.class));
当用户按下一个按键
和
Notification notification = new Notification();
startForeground(1, notification);
在服务类
的OnCreate法
(我试过它也在onStart()方法中)
(我也找不到什么startForeground()的id场预期,所以我用1)
然后服务应该启动手机的无限振动模式,所以我知道它是否正在运行或不。 但是,当我关掉屏幕,手机立即停止振动
请帮助我。我不知道我怎么能解决这个问题(和谷歌是不是一个很大的帮助)
真诚 捷思
答
尝试从'onStartCommand()'返回'START_STICKY'。这将保持服务运行,如果有必要,重新启动它,而不保持屏幕打开。
看一看http://developer.android.com/reference/android/app/Service.html#START_STICKY
答
试试这个
KeyguardManager km = (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE);
final KeyguardManager.KeyguardLock kl = km .newKeyguardLock("MyKeyguardLock");
kl.disableKeyguard();
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
WakeLock wakeLock = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK
| PowerManager.ACQUIRE_CAUSES_WAKEUP
| PowerManager.ON_AFTER_RELEASE, "MyWakeLock");
wakeLock.acquire();
,并在清单文件
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
所以,当您的通知或报警管理器服务运行时,屏幕会亮上和键盘锁将解锁。我希望它也适用于谁有这个问题。
当它暂停或关闭时,是否从活动调用stopService? – 2012-02-12 09:15:02