Android AlarmManager无法工作

Android AlarmManager无法工作,android,alarmmanager,Android,Alarmmanager,据我所知,我应该在启动应用程序20秒后在Logcat中看到日志“Alarm”,但它没有发生。我错过了什么 public class MainActivity extends Activity { private PendingIntent pendingIntent; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState)

据我所知,我应该在启动应用程序20秒后在Logcat中看到日志“Alarm”,但它没有发生。我错过了什么

public class MainActivity extends Activity {
    private PendingIntent pendingIntent;

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

        Intent intent = new Intent(MainActivity.this, MainActivity.class);
        pendingIntent = PendingIntent.getService(MainActivity.this, 1, intent, 1);

        AlarmManager manager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
        manager.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + 20000, pendingIntent);

        Log.d("alarm", "alarm");
    }
}
试一试


第三个参数当前未使用。请检查是否应该使用

getActivity (Context context, int requestCode, Intent intent, int flags)
因为您的
意图
指定的是活动类别,而不是服务。接下来,最后一个参数(标志)可以具有
pendingent
类中常量的值。如前所述,第二个参数应该是
0
,因为它当前未使用。有关示例用法,请参阅问题

getActivity (Context context, int requestCode, Intent intent, int flags)