【发布时间】:2014-03-07 17:36:25
【问题描述】:
我想在某个时间间隔后自动显示和 android 通知
我使用了all suggested code snippets,但我在 5 分钟后使用 failed to get automatic notification
public class AlarmReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String message = "Hellooo, alrm worked ----";
Toast.makeText(context, message, Toast.LENGTH_SHORT).show();
Intent intent2 = new Intent(context, TripNotification.class);
intent2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent2);
}
public void setAlarm(Context context){
Log.d("Carbon","Alrm SET !!");
// get a Calendar object with current time
Calendar cal = Calendar.getInstance();
// add 30 seconds to the calendar object
cal.add(Calendar.SECOND, 30);
Intent intent = new Intent(context, AlarmReceiver.class);
PendingIntent sender = PendingIntent.getBroadcast(context, 192837, intent, PendingIntent.FLAG_UPDATE_CURRENT);
// Get the AlarmManager service
AlarmManager am = (AlarmManager) context.getSystemService(context.ALARM_SERVICE);
am.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), sender);
}
}
<receiver android:process=":remote" android:name="AlarmReceiver"></receiver>
【问题讨论】:
-
您应该使用
BroadcastReceiver和广播Intent而不是Activity。 -
非常感谢,但是怎么做?我是安卓新手。你能给我任何工作代码sn-p
-
只需查看
PendingIntent和AlarmManager文档。您只需要创建一个广播挂起的意图并在您的代码中创建一个BroadcastReceiver并在您的清单中声明。然后,您的接收者可以更新通知。 -
我看过文档,但不明白在哪里调用代码片段:(
-
你的接收者注册的intent-filter是什么?
标签: android android-layout android-intent android-notifications