5

私の通知はサービス(service.java)であり、設定画面のチェックボックスの参照がチェックされているときに、サービスが行うのはバッテリーレベルの通知です。通知をクリックするとMainActivityと入力します。これはコードです通知の意図が働かない

if(mprefs.getBoolean("notification_a", false)==true){ 
    notificationBuilder = new NotificationCompat.Builder(context); 

    notificationBuilder.setOngoing(true); 
    notificationBuilder.setContentTitle("Battery Stats Informations"); 
    notificationBuilder.setContentText("Carica residua: " +level+"%" + " " + "Temperatura: " +temperature+ "°C"); 
    //notificationBuilder.setTicker("Informazioni batteria"); 
    notificationBuilder.setWhen(System.currentTimeMillis()); 
    notificationBuilder.setSmallIcon(R.drawable.icon_small_not); 
    Intent notificationIntent = new Intent(context, MainActivity.class); 
    PendingIntent contentIntent = PendingIntent.getBroadcast(context, 0, notificationIntent, 0); 
    notificationBuilder.setContentIntent(contentIntent); 

    notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); 

    Notification not=notificationBuilder.build(); 

    mNotificationManager.notify(SIMPLE_NOTIFICATION_ID,not); 
} else { 
    mNotificationManager.cancelAll(); 
} 

インテントIntent notificationIntent = new Intent(context, MainActivity.classは機能しません。どんな助け?

答えて

5

あなたは、通知をクリックしたときに活動を開始する場合: 用途:

PendingIntent contentIntent = PendingIntent.getActivity(context, 0, notificationIntent, 0); 

は Context.startActivity(意図)を呼び出すように、新たな活動を開始しますPendingIntentを取得します。代わりに

PendingIntent contentIntent = PendingIntent.getBroadcast(context, 0, notificationIntent, 0); 

は Context.sendBroadcast()を呼び出すように、放送を行いますPendingIntentを取得します。

+0

さて、私は試してみましたが、 'getActivity'と' getBroadcast'の違いは何ですか? –

関連する問題