7

Cordova のステータス バー通知プラグインを Android アプリに追加しようとしていますが、そのコードでエラーが発生します。

問題のあるコードは次のとおりです。

  Notification noti = new Notification.Builder(context)
    .setContentTitle(contentTitle)
    .setContentText(contentText)
    .setSmallIcon(icon)
    .build();

エラーはにあり.build()、Eclipseは私に教えてくれます:

「メソッド build() はタイプ Notification.Builder に対して定義されていません」

4

2 に答える 2

13

私は同じ問題を抱えています。SDK のバージョンと現在は減価償却されているメソッドが一致していないようです。

getNotification() は、API 11 build() が API 16 で追加されたので呼び出すメソッドです。

あなたが私のような場合は、バージョン < 16 を使用しているため、代わりに .getNotification() を使用してください。

今のところ API 16 について心配するつもりはありませんが、16 をダウンロードしてターゲットをそのように設定すれば、build() が機能するはずです。

それがあなたのために働くかどうか私に知らせてください。

于 2012-07-25T01:33:42.437 に答える
1

API 10以降のソリューションが必要なため、私にとって .getNotification() は問題を解決しませんでした。

私はそれに対処する方法を見つけました。他の誰かが同じ問題を抱えている場合は、これを行うことをお勧めします:

1) StatusBarNotification の手順に進みます (クリック)

2) StatusBarNotification.java を変更します。

  • 追加

    非公開通知通知;

    プライベート PendingIntent contentIntent;

StatusBarNotification クラスの下部、たとえば NotificationManager 宣言の前

  • showNotification メソッドを変更する

コメントまたは削除:

android.app.Notification.Builder をインポートします。

Notification noti = new Notification.Builder(context) .setContentTitle(contentTitle) .setContentText(contentText) .setSmallIcon(icon) .build();

この部分の代わりに、次を貼り付けます。

noti = new Notification(android.R.drawable.btn_star_big_on, contentText, System.currentTimeMillis() );
noti.flags = Notification.FLAG_AUTO_CANCEL;


Intent notificationIntent = new Intent(context, !yourMainActivityClass!.class);
notificationIntent.setAction(Intent.ACTION_MAIN);
notificationIntent = notificationIntent.setFlags(Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
contentIntent = PendingIntent.getActivity(コンテキスト、0、通知インテント、0);

noti.setLatestEventInfo(context, contentTitle, contentText, contentIntent);
  • あなたのMainActivityClassを変更してください!あなたのクラスに
  • index.html に呼び出しメソッドを追加して、テスト用に JQM ボタンを作成できます

    onclick='window.plugins.statusBarNotification.notify("ここにタイトルを入力してください", "ここにメッセージを入力してください"); return false;'

このソリューションが減価償却されたメソッドを使用していることは知っていますが、それを機能させるために何時間も費やしました.API 10の別のソリューションは見当たりませんでした.誰かがより良いアイデアを持っている場合は、私と共有してください;)

于 2012-08-16T16:04:01.560 に答える