0

我需要在应用程序使用Firebase通知系统在后台运行时(未杀死)打开特定活动。根据文档,通知托盘将打开默认活动并将意图发送给它。如何在应用程序在后台运行时打开特定活动?

打开特定的活动,我添加了一个<Intent>Manifest文件:

<intent-filter> 
     <action android:name="OPEN_ACTIVITY_1" /> 
     <category android:name="android.intent.category.DEFAULT" /> 
</intent-filter> 

发送数据通过PostmanPost要求:

{ 
    "notification" : { 
     "OPEN_ACTIVITY_1":".activity.TemActivity_", 
     "body" : "update !" 
    }, 
    "data": { 
     "type":0, 
     "question":"open the activity" 
}, 
"to": "dDmXZa9k6-o:APA91bEx91oyYnOyzK3kX839EqbvA2CgY74s- 
fLUs8MCYZzVmnp-RpgyI3zicEFVS37K7A4kPpbbqYU9hMBEbs- 
PrBXlSTYTOBVd7O3CNvl1vaTEbGIHjLLRTWvEK2VRCvJkhQTXWtr3" 
} 

不过,我收到notificaiton当我点击notificaiton托盘。它总是打开默认的意图活动。我在做什么错在这里打开TeamActivity_(使用的是Android注释)

编辑-1

public class MessagingService extends FirebaseMessagingService { 

public String TAG = "Data"; 

@Override 
public void onMessageReceived(RemoteMessage remoteMessage) { 
    System.out.println("data"); 
    } 
} 

token是有效的,因为我可以看到通知栏。

+0

请你分享的火力消息 –

+0

@AshishPandey火力地堡短信代码的Java代码运行的是什么?你在问'onMessageReceived'吗? –

+0

是的,只是发布你写在该类中的整个代码 –

回答

0

让我给你一个简单的例子。

AndroidManifest(比方说,你想开SampleActivity_)

<activity android:name=".activity.SampleActivity_" 
     android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation" 
     android:theme="@style/AppTheme"> 

      <intent-filter> 
       <action android:name="OPEN_ACTIVITY_1"/> 
       <category android:name="android.intent.category.DEFAULT" /> 
      </intent-filter> 

     </activity> 

现在做一个Post要求

{ 
"notification" : { 
     "click_action":"OPEN_ACTIVITY_1", 
     "body" : "new Symulti update !" 
}, 
    "data": { 
     "type":0, 
     "question":"what are you doing?" 
}, 
    "to": "cfXBKN_vhFw:APA91bH268KeCeFLlp0OHH- 
      UNPgR_njeNmJET0PvrcrHe6VLN- 
      w6UQCCO_LbN0TeNhpjqDDStNnt4t0FGQ6S5puz49QSdsK1BKb8R7Q1uYNpP_ 
      UqsRIETuOh1TRst 
      JAsfJS7VI7Atpfx" 
} 

我测试,可以正常使用!

只有当应用程序在后台

相关问题