0

这是我用来调用活动 HomeActivity 的代码。但是,即使我将其设置为 1 分钟,通话也不会进行。

   protected void onResume() {
            // TODO Auto-generated method stub
            super.onResume();

            int minutes = 1;
            AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
            Intent i = new Intent(this, HomeActivity.class);
            PendingIntent pi = PendingIntent.getService(this, 0, i, 0);
            am.cancel(pi);

            if (minutes > 0) { 
                am.setInexactRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime() + mi

    > Blockquote

    nutes*60, minutes, pi); }

            }
4

2 回答 2

1

首先,如果您尝试通过 启动活动AlarmManager,则需要使用getActivity()而不是getService()创建PendingIntent.

其次,周期以AlarmManager毫秒为单位,而不是秒。

第三,setInexactRepeating()设计用于 AlarmManager 上的预定义周期之一(例如,INTERVAL_FIFTEEN_MINUTES)。

于 2012-04-13T12:24:03.200 回答
0

我猜重复间隔应该以毫秒为单位

你期待吗

Intent i = new Intent(this, HomeActivity.class); 开始您的活动?

试试 normall 看看它是否会启动你的活动

于 2012-04-13T10:08:33.780 回答