很遗憾,我无法在其他StackOverflow帖子中找到解决此问题的方法,因此我提前道歉重新发布此问题。基本上,我有一个创建通知的AppWidget。我希望用户单击通知以启动活动。 AppWidget和Activity都在同一个APK中。
以下代码全部在AppWidget中。单击Notification会广播AppWidget接收的自定义Intent。
问题是Activity似乎没有启动,即使logcat证明自定义的Intent确实已被广播。唯一的线索是帖子标题中重申的logcat消息。
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(Constants.BROWSER_INTENT)) {
launchActivity(context, R.layout.appwidget, R.id.launch_button, Activity.class);
}
super.onReceive(context, intent);
}
private void displayNotification(Context context, String ticker, String title, String msg) {
Intent intent = new Intent(context, ThisWidget.class);
intent.setAction(Constants.BROWSER_INTENT);
PendingIntent pending = PendingIntent.getActivity(context, 0, intent, 0);
NotificationManager notificationManager = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE);
Notification notification = new Notification(R.drawable.icon, ticker, System.currentTimeMillis());
notification.setLatestEventInfo(context, title, msg, pending);
notificationManager.notify(1, notification);
}
一些注意事项:
从Notification按下启动活动时,是否有人解决了此问题?
答案 0 :(得分:3)
Intent intent = new Intent(context, ThisWidget.class);
intent.setAction(Constants.BROWSER_INTENT);
PendingIntent pending = PendingIntent.getActivity(context, 0, intent, 0);
到此:
Intent intent = new Intent(context, Activity.class);
PendingIntent pending = PendingIntent.getActivity(context, 0, intent, 0);
并且有效。
抱歉这个虚假的帖子。