【问题标题】:AlarmManager doesn't work properly警报管理器无法正常工作
【发布时间】:2015-08-29 15:02:18
【问题描述】:

这段代码有什么问题?我没有收到任何错误并且代码不起作用我该怎么办?

MainActivity.java

Long alertTime = new GregorianCalendar().getTimeInMillis()+5*1000;
    Intent alertIntent = new Intent(MapsActivity.this, MyService.class);
    AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
    alarmManager.set(AlarmManager.RTC_WAKEUP, alertTime,
            PendingIntent.getBroadcast(MapsActivity.this, 1, alertIntent,
                    PendingIntent.FLAG_UPDATE_CURRENT));

MyService.java

public class MyService extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {
    createNotification(context, "Alarm", "ASDFG", "ASDF");
}

public void createNotification(Context context, String msg, String msgText, String msgAlert) {


    PendingIntent notificIntent = PendingIntent.getActivity(context, 0,
            new Intent(context, MapsActivity.class), 0);

    NotificationCompat.Builder mBuilder =
            new NotificationCompat.Builder(context)
                    .setSmallIcon(R.drawable.searchicon)
                    .setContentTitle(msg)
                    .setTicker(msgAlert)
                    .setContentText(msgText);

    mBuilder.setContentIntent(notificIntent);
    mBuilder.setDefaults(Notification.DEFAULT_SOUND);
    mBuilder.setAutoCancel(true);
    NotificationManager mNotificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
    mNotificationManager.notify(1, mBuilder.build());
 }}

顺便说一句,我想在 MainActivity.java 类中的 setOnMyLocationChangeListener 上启动警报和通知 onCreate() 有人可以帮助我在后台运行吗?

【问题讨论】:

  • 你有没有在onReceive方法上添加日志来检查它是否真的被调用了?
  • 哇,我对这个问题的借口我实际上把<receiver android:name=".MyService" ></receiver> 放在了AndroidManifest.xml 的错误位置...我也可以在这里问一下后台运行onLocationChange 吗?或发布新问题?
  • 因为这是一个新问题,您最好关闭这个问题(用解决问题的方法回答您自己的问题)并打开另一个问题。

标签: android background alarmmanager


【解决方案1】:

我对这个问题的借口我实际上把<receiver android:name=".MyService" ></receiver>放在了AndroidManifest.xml的错误位置它需要在<application></application>标签内。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-10
    • 1970-01-01
    • 1970-01-01
    • 2014-04-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多