1

私はこのガイドに従っていますが、少し作り直しました。
すべての電子メールと名前のものを含む最初のアクティビティを削除しました。基本的に、私が行ったことは
、ボタンとテキストビューを備えたアプリであり、ボタンを押すとregIdがポップアップします。これまでのところ良いですが、プッシュ自体を受信することになると、ポップアップやウェイクロックなどはなく、「通知センター」の単純な行だけです(Androidで何が呼び出されているかはわかりません)。ここにコードがあります:

private static void generateNotification(Context context, String message) 
    {
        int icon = R.drawable.ic_launcher;
        long when = System.currentTimeMillis();
        NotificationManager notificationManager = (NotificationManager)
                context.getSystemService(Context.NOTIFICATION_SERVICE);
        Notification notification = new Notification(icon, message, when);

        String title = context.getString(R.string.app_name);

        Intent notificationIntent = new Intent(context, MainActivity.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.setLatestEventInfo(context, title, message, intent);
        notification.flags |= Notification.FLAG_AUTO_CANCEL;

エラー:
通知通知= new Notification(icon、message、when);

コンストラクターNotification(int、charSequence、long)は非推奨になりました

notification.setLatestEventInfo(context, title, message, intent);
The method setLatestEventInfo(Context, CharSequence, CharSequence, PendingIntent) from the type Notification is deprecated

(logCatはエラーからきれいに出てきます)

宣言を開くと、「JARファイルにソース添付ファイルがありません」と表示されます。
ソースとグーグルを追加しようとしました。しかし、私が何をしてもそれは言う

the source attachment does not contain the source for the file Notification.class

プッシュでメッセージを受け取ることに関する私の問題は、これが原因であると私は信じています。それを修正する方法について何かアイデアはありますか?

PS。私はこれらすべてに不慣れです。さらにコードが必要な場合はお知らせください。また、ここで間違った方向に進んでいる場合はお知らせください。:)

4

1 に答える 1

2

これはあなたの警告とは何の関係もありません。この警告は、使用しているメソッドが API レベル 11 以降では非推奨になっていることを示しています。新しい API の場合は、Notification.Builder を使用できます (必須ではありませんが、推奨されています)。

Notification noti = new Notification.Builder(mContext)
     .setContentTitle("New mail from " + sender.toString())
     .setContentText(subject)
     .setSmallIcon(R.drawable.new_mail)
     .setLargeIcon(aBitmap)
     .build();

編集:現在のAPIを確認:

int currentVersion = android.os.Build.VERSION.SDK_INT;
int honeycombVersion = android.os.Build.VERSION_CODES.HONEYCOMB;

if (currentVersion >= honeycombVersion ){
    // Use Notification.Builder
} else{
    // Use Notification(int, charSequence, long)
}

Edit2: サポート ライブラリを使用すると、下位の API で Notification.Builder を使用できます。

于 2012-12-16T18:34:19.487 に答える