0

我正在开发一个 android 应用程序,我目前正在尝试创建一个通知,一旦用户点击通知,应该启动一个活动。通知正在创建正常,但活动没有开始。

下面是通知的代码。

private void showNotification(String username, String password)
{
    String ns = Context.NOTIFICATION_SERVICE;
    NotificationManager notificationManager = (NotificationManager)context.getSystemService(ns);

    CharSequence tickerText = "Username Copied";
    long when = System.currentTimeMillis();

    int icon = R.drawable.icon;

    Notification notification = new Notification(icon, tickerText, when);
    CharSequence contentTitle = "BPM - Login Management";
    CharSequence contentText = "Username Copied";

    Intent intentNotification = new Intent(context, CopyPassword.class);
    intentNotification.setAction(Long.toString(when));
    notification.flags |= Notification.FLAG_AUTO_CANCEL;
    intentNotification.putExtra("password", password);

    PendingIntent contentIntent = PendingIntent.getActivity(context, 0, intentNotification, PendingIntent.FLAG_UPDATE_CURRENT);
    notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent);

    final int NOTIFICATION_ID = 1;
    notificationManager.notify(NOTIFICATION_ID, notification);
}

通知是从普通的 java 类而不是 android 活动中生成的,以防万一这有什么不同。

谢谢你的帮助。

4

1 回答 1

2

删除不需要的 setAction。

尝试:

Intent intentNotification = new Intent(context, CopyPassword.class);
intentNotification.putExtra("password", password);

PendingIntent contentIntent = PendingIntent.getActivity(context, 0, intentNotification, 0);

notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent);

还要确保在您的 AndroidManifest 中声明 CopyPassword Activity

我写了一篇关于它的博客文章:http: //blog.blundell-apps.com/notification-for-a-user-chosen-time/ :-D

于 2012-06-24T22:34:01.103 回答