我试图在 android 中实现推送通知,下面是我的接收器
代码
public class MessageReceiver extends BroadcastReceiver {
public void onReceive(Context ctx, Intent intent) {
Intent myIntent = new Intent(ctx, MainActivity.class);
myIntent.putExtra("skipList", true);
PendingIntent pendingIntent = PendingIntent.getActivity(
ctx, 0, myIntent, 0);
NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(ctx)
.setSmallIcon(R.drawable.ic_launcher)
.setContentTitle(intent.getExtras().getString("subject"))
.setContentText(intent.getExtras().getString("cover"))
.setContentIntent(pendingIntent);
mBuilder.setSound(Settings.System.DEFAULT_NOTIFICATION_URI);
NotificationManager mNotificationManager = (NotificationManager)ctx.getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.notify(1, mBuilder.build());
}
}
因此,根据上面的代码,我将数据 skipList = True
添加到 Intent myIntent
我只想在我的 MainActivity.java
文件中检索此数据,如下所示
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent iin= getIntent();
Log.v("<<<<<<<<<<<<iiiiiiiii>>>>>>>>>>>>>>>>",iin.toString());
Bundle b = iin.getExtras();
Log.v("<<<<<<<<<<<<bbbbbbbb>>>>>>>>>>>>>>>>",b.toString());
String wow = b.getString("skipList");
Log.v("<<<<<<<<<<<<wowowowoow>>>>>>>>>>>>>>>>",wow.toString());
}
但是我无法从 Intent 中获取数据,我做错了什么?
最佳答案
您正在使用带有 boolean 参数的 putExtra,但您将其作为字符串检索。
您需要使用 getBooleanExtra()
方法获取它。
只需替换这一行:
String wow = b.getString("skipList");
这样:
boolean wow = b.getBooleanExtra("skipList");
关于java - 如何在 Android 中添加和检索 Intent 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29431400/