21

ブロードキャスト レシーバを起動するアラーム マネージャがあります。これが私の放送受信機です:

public class AlarmBrodcastReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent arg1) {
        showNotification(context);
    }

    private void showNotification(Context context) {
        PendingIntent contentIntent = PendingIntent.getActivity(context, 0,
                new Intent(context, MyActivity.class), 0);

        NotificationCompat.Builder mBuilder =
                new NotificationCompat.Builder(context)
                .setSmallIcon(0)
                .setContentTitle("My notification")
                .setContentText("Hello World!");
        mBuilder.setContentIntent(contentIntent);
        mBuilder.setDefaults(Notification.DEFAULT_SOUND);
        mBuilder.setAutoCancel(true);
        NotificationManager mNotificationManager =
            (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
        mNotificationManager.notify(1, mBuilder.build());

    }  
}

放送は時間通りに始まりますが、通知はなく、音だけです。テキストはどこにありますか?どうしたの?API 10 とサポート ライブラリを使用しているからですか?

4

1 に答える 1

23

おお、問題が見つかりました。問題は .setSmallIcon(0) にあります...実際のリソースを設定すると、OK、通知が表示されます...

于 2012-10-16T23:21:12.723 に答える