进程停止后,Android AlarmManager无效

MHM*_*MHM 4 android

我想通过AlarmManager课堂设置闹钟.通常,它工作正常,一切都很好.但是,如果我的应用程序进程停止或手机关闭并再次打开,则警报无法启动.有帮助吗?或者android提供的其他服务?

谢谢

Dha*_*dra 7

如果您要重新启动手机,Android将清除警报管理器的所有意图.

您必须创建一个接收器以便启动BOOT_COMPLETED,然后在设备启动时您将获得onReceive()方法.在此方法中,您可以再次创建所有警报.

你必须在清单中声明接收者

<receiver android:name=".MyStartupIntentReceiver" android:enabled="true" android:exported="false">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED"/>
            </intent-filter>
        </receiver>
Run Code Online (Sandbox Code Playgroud)

而你的接收器将是

import java.util.Calendar;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;

public class MyStartupIntentReceiver extends BroadcastReceiver{

    @Override
    public void onReceive(final Context context, Intent intent1) {

        // You can update pending intent here 

    }
}
Run Code Online (Sandbox Code Playgroud)

  • 谢谢你的快速回复.但还有更好的方法吗?Android内置时钟闹钟会做同样的事吗? (2认同)