Java Android通知已编程
我已经建立了一个简单的应用程序,当我点击一个按钮时会显示一个通知。如何显示编程通知 我调用的代码是:Java Android通知已编程,java,android,notifications,Java,Android,Notifications,我已经建立了一个简单的应用程序,当我点击一个按钮时会显示一个通知。如何显示编程通知 我调用的代码是: Notification.Builder builder = new Notification.Builder(this) .setTicker("Notifica") .setSmallIcon(android.R.drawable.stat_notify_chat) .setContentTitle("Notifica") .setContentText("H
Notification.Builder builder = new Notification.Builder(this)
.setTicker("Notifica")
.setSmallIcon(android.R.drawable.stat_notify_chat)
.setContentTitle("Notifica")
.setContentText("Hai una notifica!")
.setAutoCancel(true)
.setContentIntent(PendingIntent.getActivity(this, 0,
new Intent(this, MainActivity.class)
.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK), 0));
NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
nm.notify("interstitial_tag", 1, builder.build());
您可以与捆绑使用
首先,您必须创建挂起的意图并在某处注册它。
然后创建广播接收器并接收该意图
更新:这是我承诺的代码
首先,您需要创建广播接收器
public class NotifyHandlerReceiver extends BroadcastReceiver {
public static final String ACTION = "me.pepyakin.defferednotify.action.NOTIFY";
public void onReceive(Context context, Intent intent) {
if (ACTION.equals(intent.getAction())) {
Notification.Builder builder = new Notification.Builder(context)
.setTicker("Notifica")
.setSmallIcon(android.R.drawable.stat_notify_chat)
.setContentTitle("Notifica")
.setContentText("Hai una notifica!")
.setAutoCancel(true)
.setContentIntent(PendingIntent.getActivity(context, 0,
new Intent(context, MainActivity.class).addFlags(Intent.FLAG_ACTIVITY_NEW_TASK), 0));
NotificationManager nm = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
nm.notify("interstitial_tag", 1, builder.build());
}
}
}
这是可以处理通知请求的广播接收器。为了使它能够工作,您必须在AndroidManifest.xml中注册它。如果您不这样做,Android将无法处理您的通知请求
只需将声明添加到标记中
从您的“活动”启动延迟时间为毫秒的通知。您可以与捆绑使用
首先,您必须创建挂起的意图并在某处注册它。
然后创建广播接收器并接收该意图
更新:这是我承诺的代码
首先,您需要创建广播接收器
public class NotifyHandlerReceiver extends BroadcastReceiver {
public static final String ACTION = "me.pepyakin.defferednotify.action.NOTIFY";
public void onReceive(Context context, Intent intent) {
if (ACTION.equals(intent.getAction())) {
Notification.Builder builder = new Notification.Builder(context)
.setTicker("Notifica")
.setSmallIcon(android.R.drawable.stat_notify_chat)
.setContentTitle("Notifica")
.setContentText("Hai una notifica!")
.setAutoCancel(true)
.setContentIntent(PendingIntent.getActivity(context, 0,
new Intent(context, MainActivity.class).addFlags(Intent.FLAG_ACTIVITY_NEW_TASK), 0));
NotificationManager nm = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
nm.notify("interstitial_tag", 1, builder.build());
}
}
}
这是可以处理通知请求的广播接收器。为了使它能够工作,您必须在AndroidManifest.xml中注册它。如果您不这样做,Android将无法处理您的通知请求
只需将声明添加到标记中
从您的活动中启动延迟时间为毫秒的通知。似乎您需要AlarmManager您需要AlarmManager来完成此操作,似乎您需要AlarmManager您需要AlarmManager来完成此操作,哦,抱歉。公共静态最终整型请求\代码\通知=1;。这是针对该未决意图的简单请求代码。需要在将来控制此意图,例如,如果您希望更新它。似乎是您编写的。试着更仔细地回顾我的例子。现在我没有错误,但是通知没有开始。我已经用1000秒试过了。好的,这是代码。希望这会有帮助哦,对不起。公共静态最终整型请求\代码\通知=1;。这是针对该未决意图的简单请求代码。需要在将来控制此意图,例如,如果您希望更新它。似乎是您编写的。试着更仔细地回顾我的例子。现在我没有错误,但是通知没有开始。我已经用1000秒试过了。好的,这是代码。希望这会有所帮助
public static final int REQUEST_CODE_NOTIFY = 1;
public void scheduleNotification(long delayTimeMs) {
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
long currentTimeMs = SystemClock.elapsedRealtime();
PendingIntent pendingNotifyIntent = PendingIntent.getBroadcast(
this,
REQUEST_CODE_NOTIFY,
new Intent(NotifyHandlerReceiver.ACTION),
PendingIntent.FLAG_UPDATE_CURRENT);
alarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, currentTimeMs + delayTimeMs, pendingNotifyIntent);
}