0

Android でローカル通知をスケジュールする単純な関数を作成しようとしていますが、機能しません。何か不足していますか?つまり、マニフェストの許可またはそのようなものですか? 私はAndroidプログラミングの初心者です。

static int notificationId = 0;

public void scheduleLocalNotification(String text, int seconds)
{
    Context context = getApplicationContext();
    long when = System.currentTimeMillis() + seconds * 1000;
    NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);

    Intent notificationIntent = new Intent(context, MyApp.class);

    // set intent so it does not start a new activity
    notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP
            | Intent.FLAG_ACTIVITY_SINGLE_TOP);
    PendingIntent intent = PendingIntent.getActivity(context, 0,
            notificationIntent, 0);
    Notification notification = new Notification();
    notification.setLatestEventInfo(context, "My application", text, intent);
    notification.flags |= Notification.FLAG_AUTO_CANCEL;
    notification.when = when;
    notificationManager.notify(notificationId, notification);
    notificationId ++;

}
4

2 に答える 2

1

Androidマニフェストファイルに新しいアクティビティを入力するのを忘れていると思うので、以下のようにアクティビティを入力してください

 <activity
        android:name=".your activity name"
         />

プログラムを実行します

于 2012-12-14T19:00:05.020 に答える
0

見つけた。問題は、通知コンストラクターにアイコン リソースを渡していないことです。

notification = new Notification(R.drawable.icon, text, when);
于 2012-12-17T17:39:32.063 に答える