2

次のコードを使用してonRecievemy のメソッド内に通知を作成しBroadcastReceiverていますが、次の例外が発生しています:

java.lang.IllegalArgumentException: contentIntent required

コード:

 NotificationManager notificationManager;
        notificationManager = (NotificationManager) context
                .getSystemService(Context.NOTIFICATION_SERVICE);
    String tickerText;
    String expandedText;
    String expandedTitle;
    int icon;
    long when;
    Notification notification;

    int notificationref = new Random().nextInt(100) + 1;
    icon = R.drawable.reminder;
    tickerText = "New Reminder";
    when = System.currentTimeMillis();
    notification = new Notification(icon, tickerText, when);
    expandedText = "Reminder at: "
            + DateOrTimeString.getTimeString(task.time) + "\n"
            + task.detail;
    expandedTitle = "Reminder:" + task.topic;
    Intent intentDestroyer = new Intent(context, RemindHomeActivity.class);
    intentDestroyer.putExtra("ID", task.id);
    intentDestroyer.putExtra("NOTIFICATIONREF", notificationref);
    launchIntent = PendingIntent.getActivity(context, notificationref,
            intentDestroyer, 0);

    notification.setLatestEventInfo(mContext, expandedTitle, expandedText,
            null);
    notificationManager.notify(1, notification);

もう 1 つ、この問題は API レベル 11 未満でのみ発生します。API レベル 15 Icecream Sandwitch で機能します

4

1 に答える 1

0

contentIntent を設定する必要があります

void android.app.Notification.setLatestEventInfo(Context context, CharSequence contentTitle, CharSequence contentText, PendingIntent contentIntent)‬

あなたの場合:

notification.setLatestEventInfo(mContext, expandedTitle, expandedText,
            launchIntent );
于 2013-03-12T04:32:44.027 に答える