2017-03-16 79 views
0

我想打開一個特定的android活動,當我點擊一個通知,但問題是,當我點擊我的notifiation這打開我的MainActivity,但例如,我想打開我的活動叫做Notificacion.class,我使用了google的firebase,這是我的代碼。如何打開一個android活動,當我點擊一個通知

public class MyfirebaseMessagingService extends FirebaseMessagingService{ 

@Override 
public void onMessageReceived(RemoteMessage remoteMessage) { 

    //final Intent intent = new Intent(this, Notificacion.class); 
    //startActivity(intent); 
    Intent intent = new Intent(this, Notificacion.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("Sección 15"); 
    notificationBuilder.setContentText(remoteMessage.getNotification().getBody()); 
    notificationBuilder.setAutoCancel(true); 
    Uri defaultSound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); 
    notificationBuilder.setSound(defaultSound); 
    long[] pattern = new long[]{1000,500,1000}; 
    notificationBuilder.setVibrate(pattern); 
    notificationBuilder.setSmallIcon(R.drawable.logo); 
    notificationBuilder.setContentIntent(pendingIntent); 
    NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); 
    notificationManager.notify(0,notificationBuilder.build()); 


} 

}

+0

我實際上已經嘗試過你的代碼,它顯示了我想要的活動。我可以給你幾條標準的建議: - 檢查清單,如果期望的活動存在 - 嘗試使用context.getApplicationContext() – thekekc

回答

0

創建的意圖和傳遞給待處理的Intent是當您單擊通知時使用的Intent,因此請將想要打開的活動放在意圖中你也可以添加額外的數據的意圖,並通過獲取意圖檢索他們getIntent()

+0

是的,我知道但是, 在我的通知類中,我有一個代碼,它提供了一個對話框,在這個框中是通知發送的更詳細的信息,它就像一個pupup,我真正要找的是點擊我的通知,我運行我的應用程序,並顯示一個包含完整通知信息的對話框,這就是爲什麼我想發送我的Notification.class類,我不想打開主類 –

+0

您應該首先打開啓動器活動然後獲得意圖。如果存在 創建新的意圖將舊的所有數據通過notification.class作爲目標活動 –

+1

謝謝,我將處理該解決方案 –

1

替換 「Notificacion.class」 在這一行你的活動:

Intent intent = new Intent(this, Notificacion.class); 

它不應該是這樣的:

Intent intent = new Intent(this, MyActivity.class); 
+0

如果答案是正確的,請將其標記爲正確答案!謝謝! –

+0

在我的通知類中,我有一個代碼,它提供了一個對話框,在這個對話框中提供了通知發送的更詳細的信息,它就像一個pupup,我真正需要的是通過點擊我的通知,我運行我的應用程序,並顯示一個包含完整通知信息的對話框,這就是爲什麼我想發送我的Notification.class類,我不想打開主類 –

+0

因此,您應該從對話框中打開您的活動。在對話框中創建一個新的意圖,並在用戶準備就緒後開始所需的活動。 –

相關問題