yos*_*i24 23 android notificationmanager
通过AlarmManager启动服务时,我使用以下代码启动通知:
nm = (NotificationManager) this.getSystemService(Context.NOTIFICATION_SERVICE);
CharSequence from = "App";
CharSequence message = "Getting Latest Info...";
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, new Intent(), 0);
Notification notif = new Notification(R.drawable.icon,
"Getting Latest Info...", System.currentTimeMillis());
notif.setLatestEventInfo(this, from, message, contentIntent);
nm.notify(1, notif);
Run Code Online (Sandbox Code Playgroud)
如何设置此项目的意图,以便当用户点击它时,它会启动某个活动?
Sam*_*uel 28
至于yoshi24的评论,你可以设置这样的额外内容.
final Intent intent = new Intent(this, MyActivity.class);
intent.setData(data);
intent.putExtra("key", "value");
final PendingIntent contentIntent = PendingIntent.getActivity(this, 0, intent, 0);
Run Code Online (Sandbox Code Playgroud)
在进行待定意图之前,您还需要了解这一点
更新这样的 东西对你有用
在你的主要节日
<activity android:name=".MyActivity" android:launchMode="singleTop" ... />
Run Code Online (Sandbox Code Playgroud)
在你的活动中
@Override
protected void onCreate(Bundle savedInstanceState) {
processIntent(getIntent());
}
@Override
protected void onNewIntent(Intent intent) {
processIntent(intent);
};
private void processIntent(Intent intent){
//get your extras
}
Run Code Online (Sandbox Code Playgroud)
mom*_*omo 20
您基本上需要将Activity类作为意图的一部分放入PendingIntent中.目前你的Intent是空的.要重定向到新活动,它应该是:
// This line of yours should contain the activity that you want to launch.
// You are currently just passing empty new Intent()
PendingIntent contentIntent =
PendingIntent.getActivity(this, 0, new Intent(this, MyActivity.class), 0);
Run Code Online (Sandbox Code Playgroud)
我做的,
我添加Intent.FLAG_ACTIVITY_CLEAR_TOP了新的意图
NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
Notification notification = new Notification(R.drawable.ic_launcher,
"A new notification", System.currentTimeMillis());
// Hide the notification after its selected
notification.flags |= Notification.FLAG_AUTO_CANCEL;
Intent intent = new Intent(this, NoficationDemoActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
Bundle bundle = new Bundle();
bundle.putString("buzz", "buzz");
intent.putExtras(bundle);
PendingIntent activity = PendingIntent.getActivity(this, 0, intent, 0);
notification.setLatestEventInfo(this, "This is the title",
"This is the text", activity);
notification.number += 1;
notificationManager.notify(0, notification);
Run Code Online (Sandbox Code Playgroud)Oncreate我做如下:
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
if(getIntent().getExtras()!=null){
Toast.makeText(this, "Click", Toast.LENGTH_SHORT).show();
}
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
79315 次 |
| 最近记录: |