Android 从其他应用发送Firebase通知

Android 从其他应用发送Firebase通知,android,firebase,firebase-cloud-messaging,Android,Firebase,Firebase Cloud Messaging,是否有任何可能的方法从FirebaseMessagingService调用onMessageReceived,而无需使用Firebase API或连接到FCM服务器,即可从另一个包(apk)调用MainActivity.java MyFirebaseMessagingService.java 公共最终类MyFirebaseMessagingService扩展了FirebaseMessagingService{ 收到消息时公共无效(RemoteMessage RemoteMessage){ //我

是否有任何可能的方法从
FirebaseMessagingService
调用
onMessageReceived
,而无需使用Firebase API或连接到FCM服务器,即可从另一个包(apk)调用
MainActivity.java

MyFirebaseMessagingService.java

公共最终类MyFirebaseMessagingService扩展了FirebaseMessagingService{
收到消息时公共无效(RemoteMessage RemoteMessage){
//我对这种方法感兴趣
}
公共void onNewToken(字符串str){
//代码
}
}

尝试从另一个包的
MainActivity.java
调用RESTAPI。可以找到API文档。提供适当的服务器密钥以将FCM发送到另一个包的应用程序。

尝试从另一个包的
MainActivity.java
调用REST API。可以找到API文档。提供正确的服务器密钥以将FCM发送到另一个软件包的应用程序。

您需要阅读相关文档。这是从FCM接收推送消息的广播接收器。它合并到清单中,如下所示:

 <receiver
     android:name="com.google.firebase.iid.FirebaseInstanceIdReceiver"
     android:exported="true"
     android:permission="com.google.android.c2dm.permission.SEND" >
     <intent-filter>
         <action android:name="com.google.android.c2dm.intent.RECEIVE" />
         <category android:name="YOUR_PACKAGE_NAME" />
     </intent-filter>
 </receiver>

如该文件所述:

com.google.android.c2dm.permission.SEND
权限由google Play services持有。这将防止其他应用程序调用广播接收器


因此,除非您的代码在Google Play services应用程序进程中运行,或通过root access安装的具有所需权限的其他类似进程中运行,否则无法强制传递消息。

您将需要阅读文档以了解更多信息。这是从FCM接收推送消息的广播接收器。它合并到清单中,如下所示:

 <receiver
     android:name="com.google.firebase.iid.FirebaseInstanceIdReceiver"
     android:exported="true"
     android:permission="com.google.android.c2dm.permission.SEND" >
     <intent-filter>
         <action android:name="com.google.android.c2dm.intent.RECEIVE" />
         <category android:name="YOUR_PACKAGE_NAME" />
     </intent-filter>
 </receiver>

如该文件所述:

com.google.android.c2dm.permission.SEND
权限由google Play services持有。这将防止其他应用程序调用广播接收器


因此,除非您的代码运行在Google Play services应用程序进程中,或通过root access安装的具有所需权限的其他类似进程中,否则无法强制传递消息。

您这样做的用例是什么?如果这是一个合法的用例(而不仅仅是试图向另一个应用程序发送它不应该收到的消息),那么几乎可以肯定有更好的实现方法。我是一名应用程序安全工程师。我试图找出是否有一种方法可以利用我们的应用程序使用这种方法我搜索并阅读了文档,但是我没有找到任何像我正在尝试的那样的案例你这样做的用例是什么?如果这是一个合法的用例(而不仅仅是试图向另一个应用程序发送它不应该收到的消息),那么几乎可以肯定有更好的实现方法。我是一名应用程序安全工程师。我试图找出是否有一种方法可以利用我们的应用程序使用这种方法我搜索并阅读了文档,但我没有找到任何像我正在尝试的案例