【发布时间】:2014-12-01 11:21:12
【问题描述】:
我想要做的是发送一个带有 PendingIntent 的通知以打开一个简单的 Activity,其中 TextView 由 Intents Extra(字符串)设置。问题是,Extras 似乎是空的。
这是我的 MainActivity 代码:
public class MainActivity extends ActionBarActivity {
public static final String KEY = "eu.paliga.creatinganotification.Key";
public static final String MSG = "welcome back";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = (Button) findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent viewIntent = new Intent(MainActivity.this, ViewEventActivity.class);
viewIntent.putExtra(KEY, MSG);
PendingIntent viewPendingIntent = PendingIntent.getActivity(MainActivity.this, 0, viewIntent, 0);
NotificationCompat.Builder notificationBuilder =
new NotificationCompat.Builder(MainActivity.this)
.setSmallIcon(R.drawable.ic_launcher)
.setContentTitle("trying")
.setContentText("to figure it out")
.setContentIntent(viewPendingIntent);
NotificationManagerCompat notificationManager =
NotificationManagerCompat.from(MainActivity.this);
notificationManager.notify(0, notificationBuilder.build());
}
});
}
....
}
对于由 Intent 启动的 Activity:
public class ViewEventActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_viewintent);
Intent intent = getIntent();
if (intent.hasExtra(MainActivity.KEY)) {
String msg = intent.getStringExtra(MainActivity.KEY);
Log.d("MyTag", msg);
((TextView)findViewById(R.id.textView2)).setText(msg);
}
}
}
【问题讨论】:
标签: android android-intent android-notifications android-pendingintent wear-os