-1

私のプログラムは、通知を表示するためにサービスからこのコードを呼び出しています:

NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this).setSmallIcon(icon)
        .setContentTitle("BU").setOngoing(true).setContentText("BU is the biggest!!!");
  mNM.notify(mNotificationId, mBuilder.build());

バージョン4.1以降のGalaxy S-IIIで動作していますが、Android v2.3.6ではエラーが発生せず、動作していません。

API を読みましたが、何か見落としている可能性があります。何が問題で、どうすれば解決できますか?

前もって感謝します...

4

3 に答える 3

0

Notification Compat 2を試してください。この種の問題に対処するために開発されました。

于 2013-03-04T13:09:30.777 に答える
0

これは私のために働いているので、このコードを試してください(2.2以降)。このメソッドは、作成した別のサービス クラスで実行します。バックグラウンド サービスがないと通知が機能しないことがわかりました。

    final NotificationManager manager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
    final Notification notification = new Notification(R.drawable.notification_popup, message, System.currentTimeMillis());

    // used to call up this specific intent when you click on the notification
    final PendingIntent contentIntent = PendingIntent.getActivity(context, 0, 
            new Intent(context, MyActivity.class), Notification.FLAG_AUTO_CANCEL);

    notification.setLatestEventInfo(context, title, message, contentIntent);
    notification.defaults = Notification.DEFAULT_ALL;
    manager.notify(new Random(100).nextInt(), notification);
于 2013-03-04T13:09:55.553 に答える
0

公式ドキュメントAndroidから

このクラスには API レベル 11 以上が必要です。

選択したドキュメントの API レベルが 10 であるため、このドキュメントは非表示になっています。ドキュメントの API レベルは、左側のナビゲーションの上のセレクターで変更できます。

アプリに必要な API レベルの指定について詳しくは、さまざまなプラットフォーム バージョンのサポートをご覧ください。

これを確認するには、ページの左側から API レベル 10 を選択 すると、このダイアログが表示されます

于 2013-03-04T13:10:03.660 に答える