当我点击其中一个通知变种时,是否可以显示Toast?我试图通过意图向另一个班级发送这个Toast但是找不到这样做的方法。 此外,我试图只是创建另一个类的意图,它只是在被调用时创建一个Toast消息的功能,但这不起作用,因为在创建通知时显示Toast。请帮忙。感谢。
Intent intent = new Intent();
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT);
NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
builder.setTicker("Info")
.setContentTitle("Info ")
.setContentText("NotiText")
.addAction(R.drawable.ic_stat_name, "This should make Toast upon clicking", pendingIntentCall)
.setSmallIcon(R.drawable.ic_stat_name).setAutoCancel(true);
答案 0 :(得分:0)
你的intent
什么也没做。将Intent传递给PendingActivity.getActivity(...)时,必须将其定义为Activity的显式意图。例如:
Intent intent = new Intent(this, SomeActivity.class);
但是如果你只想展示一个祝酒词,那么最好不要开始一个活动,因为那样做是非常昂贵的。相反,您也可以为服务或广播创建PendingIntent。例如:
Intent intent = new Intent(this, MyBroadcastReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT);
MyBroadcastReceiver.java
看起来像这样(基本上):
public class MyBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context.getApplicationContext(), "Your message", Toast.LENGTH_SHORT).show();
}
}
顺便说一下,建议在创建时为意图添加一个动作或额外动作,并在收到意图时检查该动作或额外动作,以验证它实际上是您希望接收的意图。