2017-01-15 10 views
1

私はセリウスの問題があります。Android getExtras()はAndroidで通知をクリックすると表示されます

クラス::MessagingService.class

public void onMessageReceived(RemoteMessage remoteMessage) { 
String title = remoteMessage.getNotification().getTitle(); 
String messaggio =remoteMessage.getNotification().getBody(); 
String data = remoteMessage.getData().get("json"); 

JSON json = new JSON(); 
String fragment = json.getNotificaFragment(data); 

Log.d("MessagingService","Fragment Ricevuto: " + fragment); 


int requestID = (int) System.currentTimeMillis(); 


Intent intent = new Intent(this, LoginActivity.class); 
intent.putExtra("fragment", fragment); //Put your id to your next Intent 
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP); 
PendingIntent pendingIntent = PendingIntent.getActivity(this, requestID, intent, PendingIntent.FLAG_ONE_SHOT); 
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this); 
notificationBuilder.setContentTitle(title); 
notificationBuilder.setContentText(messaggio); 
notificationBuilder.setSmallIcon(R.mipmap.ic_launcher); 
notificationBuilder.setVibrate(new long[] { 500, 500 }); 
notificationBuilder.setSound(Settings.System.DEFAULT_NOTIFICATION_URI); 
notificationBuilder.setAutoCancel(true); 
notificationBuilder.setContentIntent(pendingIntent); 
notificationBuilder.setDefaults(Notification.DEFAULT_VIBRATE | Notification.DEFAULT_SOUND | Notification.FLAG_SHOW_LIGHTS); 


NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); 
notificationManager.notify(0, notificationBuilder.build()); 

super.onMessageReceived(remoteMessage); 

}

クラス:LoginActivity.class

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_login); 
    Log.d("APP", "AVVIO APPLICAZIONE"); 

    String fragmentDaAprire = getIntent().getStringExtra("fragment"); 
    Log.e("Bundle","Fragment da Aprire: " + fragmentDaAprire); 

問題がある:

私のAndroidアプリで は、私はこのコードを持っています

i通知を受信し、私のアプリは、結果鉱石が正しいOPENです:

 
    01-15 15:09:12.301 11419-11419/livio.***E/Bundle: Fragment da Aprire: messaggi 

私は通知を受け取り、私が間違っに通知の上、結果をクリックしたときに、私のアプリは、CLOSEの場合:(

 
    01-15 15:09:12.301 11419-11419/livio.*** E/Bundle: Fragment da Aprire: null 

ヘルプありがとう

+0

使用getIntentを()getExtras() – Nas

+0

ごめんなさいではなく、作品。 –

答えて

0

この文をチェックする必要があります。String fragment = json.getNotificaFragment(data);.それは正しく配置されていません。

0

これを試してみてください:

Intent iin = getIntent(); 
     Bundle b = iin.getExtras(); 
     if (b != null) { 
      fragmentDaAprire= (String) b.get("fragment"); 
     } 
関連する問題