-1

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

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");
    }
}
4

2 回答 2

1

似乎你应该使用

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

正如您Intent指定的活动类,而不是服务。接下来,最后一个参数(标志)可以具有来自PendingIntent类中的常量的值。如前所述,第二个参数应该是0当前未使用的。请参阅问题以了解示例用法。

于 2012-07-07T11:37:00.590 回答
0

尝试

pendingIntent = PendingIntent.getService(MainActivity.this, 0, intent, 0);

第三个参数目前没有使用。检查PendingIntent

于 2012-07-07T11:34:55.640 回答