1
我一直在试图让通知在正确的时间在Android上启动。我希望他们在未来2分钟内从App推出。如果我能在这里工作,我可以很容易地将它运用到我真正需要的地方。日志显示所需的代码行正在运行,但通知从未启动。我花了超过8个小时来尝试调试,并没有得到任何地方。任何帮助都会很棒。使用报警管理器不工作的Android通知
这里提醒代码我已经创建了:
final PendingIntent pi = PendingIntent.getBroadcast(this.mContext,
0,
i,
PendingIntent.FLAG_ONE_SHOT);
TimeZone timeZone= TimeZone.getDefault();
Calendar time= Calendar.getInstance(timeZone);
time.add(Calendar.MINUTE, 2);
this.mAlarmManager.set(AlarmManager.RTC_WAKEUP,
time.getTimeInMillis(),
pi);
Log.d ("setReminder",time.getTime().toLocaleString());
现在下面是我的OnAlarmRecieve
代码永远不会运行2分钟后根据日志。该类扩展BroadcastReceiver
@Override
public void onReceive(final Context context,
final Intent intent) {
Log.d(TAG, "Recieved wake up cal from Alarm Manger");
final String tableName = intent.getStringExtra(IntentExtraStringStorage.TABLE_NAME);
final long rowID = intent.getLongExtra(IntentExtraStringStorage.ROW_ID,
-1);
final String titleString = intent.getStringExtra(IntentExtraStringStorage.NOTIFICATION_TITLE);
final String notificationString=intent.getStringExtra(IntentExtraStringStorage.NOTIFICATION_NOTE);
WakeUpReminderIntentService.acuireStaticLock(context);
/*if (tableName== Task.TABLE_NAME) {
launchTaskView(context, rowID);
}
else {
Log.e (TAG, "Did not Launch");
Toast.makeText(context, "Did not work right", Toast.LENGTH_SHORT).show();
}*/
Intent i = new Intent (context, ReminderService.class);
i.putExtra("taskID", rowID);
i.putExtras(intent.getExtras());
Log.d(TAG, "Launched task");
//TODO Added code to build the screen correctly
//FIXIT this need to be finished.
context.startService(i);
}]=
说不上来,如果它是你的问题或没有,但我有一个类似的问题,事实证明,虽然的onReceive()被调用时,设备会去直接回到尽快的onReceive()返回睡觉,因此任何代码应该在onReceive()返回后运行。我的解决方案是从onReceive()中调用PowerManager.userActivity()来强制设备完全清醒。 – 2012-04-10 22:36:43
作为参考,见:http://stackoverflow.com/questions/9650974/how-to-programatically-dismiss-the-screensaver-lock-screen-on-android-nook-simp和/或https:// github上。 com/jfriesne/Electric-Sign/blob/master/src/com/sugoi/electricsign/ElectricSignActivity.java – 2012-04-10 22:37:55
问题我现在看起来像onReceive()从来没有运行过。我是否需要确保清单中添加了一些内容以确保它发生? – Timeless 2012-04-10 22:58:57