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);
}

通知は、これによって違いが生じる場合に備えて、Androidアクティビティではなく通常のJavaクラス内から生成されます。

ご協力いただきありがとうございます。

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);

また、CopyPasswordアクティビティがAndroidManifestで宣言されていることを確認してください

私はそれについてブログ投稿を書きました:http://blog.blundell-apps.com/notification-for-a-user-chosen-time/ :-D

于 2012-06-24T22:34:01.103 に答える