2017-08-27 6 views
1

(ここでは私の通知である)は、どのように私は私のメッセージ活動への私のプッシュ通知サービスとディスプレイからのメッセージ

public class MyFirebaseMessagingService extends FirebaseMessagingService { 

    @Override 
    public void onMessageReceived(RemoteMessage remoteMessage) { 
     Intent intent = new Intent(this, Message.class); 
     intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
     PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent,PendingIntent.FLAG_ONE_SHOT); 

     NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this); 
     notificationBuilder.setContentTitle("FCM Notification"); 
     notificationBuilder.setContentText(remoteMessage.getNotification().getBody()); 
     notificationBuilder.setAutoCancel(true); 
     notificationBuilder.setSmallIcon(R.drawable.ic_event_note_black_24dp); 
     notificationBuilder.setContentIntent(pendingIntent); 
     NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); 
     notificationManager.notify(0,notificationBuilder.build()); 
    } 
} 

と私のメッセージ活動

public class Message extends Activity { 

    private TextView textViewTitle; 
    private TextView textViewContent; 

    @Override 
    protected void onCreate(@Nullable Bundle savedInstanceState){ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_message); 
    DisplayMetrics dm = new DisplayMetrics(); 
    getWindowManager().getDefaultDisplay().getMetrics(dm); 

    int width = dm.widthPixels; 
    int height = dm.heightPixels; 

    textViewTitle = (TextView) findViewById(R.id.textViewTitle); 
    textViewContent = (TextView) findViewById(R.id.textViewTitle); 

    if (getIntent().getExtras() != null) { 
     //init message 
     String message = String.valueOf(getIntent().getExtras().get("message")); 
     String title = String.valueOf(getIntent().getExtras().get("title")); 
     //save the message 
     textViewTitle.save(getApplicationContext() , "message" , message); 
     textViewContent.save(getApplicationContext() , "title" , title); 
     startActivity(new Intent(getApplicationContext() , Message.class)); 
    } 
} 
+0

が良好に見える。それを出荷! – TooManyEduardos

+0

ようこそスタックオーバーフロー!私は、その外観を改善するためにあなたのコードをフォーマットしました。将来は、テキストを左揃えにし、コードを少なくとも4スペースインデントすることによってコードをフォーマットすることができます。 –

+0

助けてくれてありがとう....私は今それを試してみる....ありがとう.... –

答えて

0

を得ることができますあなたのデータで放送してください。

Intent intent = new Intent("myAction"); 
intent.putExtra("title", title); 
intent.putExtra("message", message); 
LocalBroadcastManager.getInstance(this).sendBroadcast(intent); 

そして、あなたの活動の内側にあなたはIntentFilterBroadcastReceiverを登録します。

public class Message extends Activity { 

    private MyReceiver myReceiver; 

    @Override 
    protected void onStart() { 
     super.onStart(); 
     if (myReceiver == null) { 
      myReceiver = new MyReceiver(); 
     } 
     // Take care here. The same action defined in IntentFilter 
     // of your MyFirebaseMessagingService must be defined here 
     LocalBroadcastManager.getInstance(this) 
       .registerReceiver(myReceiver, new IntentFilter("myAction")); 
    } 

    @Override 
    protected void onStop() { 
     super.onStop(); 
     LocalBroadcastManager.getInstance(this) 
       .unregisterReceiver(myReceiver); 
    } 

    private class MyReceiver extends BroadcastReceiver { 

     @Override 
     public void onReceive(Context context, Intent intent) { 
      // Here you get your data 
      String title = intent.getStringExtra("title"); 
      String message = intent.getStringExtra("message"); 
     } 
    } 
} 
関連する問題