Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从一个android应用程序向另一个android应用程序发送通知?_Java_Android_Android Push Notification - Fatal编程技术网

Java 如何从一个android应用程序向另一个android应用程序发送通知?

Java 如何从一个android应用程序向另一个android应用程序发送通知?,java,android,android-push-notification,Java,Android,Android Push Notification,我已经创建了两个不同的android应用程序,一个用于管理面板,该面板本身只有一个用户,另一个将安装在其他android设备上。当管理员在应用程序中添加通知时,所有用户都将收到通知。我该怎么办?如何实现这一点?使用firebase FCM向android设备发送推送通知。在这里你可以找到很多选择 你听起来是个初学者,所以我先简单地解释一下 您需要一个可以触发通知发送代码的服务器端脚本,如果您以服务器端语言运行PHP,则可以使用下面的代码 然后您需要您的用户应用程序订阅一个主题。主题只是一个自定

我已经创建了两个不同的android应用程序,一个用于管理面板,该面板本身只有一个用户,另一个将安装在其他android设备上。当管理员在应用程序中添加通知时,所有用户都将收到通知。我该怎么办?如何实现这一点?

使用firebase FCM向android设备发送推送通知。在这里你可以找到很多选择

你听起来是个初学者,所以我先简单地解释一下

  • 您需要一个可以触发通知发送代码的服务器端脚本,如果您以服务器端语言运行
    PHP
    ,则可以使用下面的代码
  • 然后您需要您的用户应用程序订阅一个主题。主题只是一个自定义字符串。您将使用此主题字符串向特定用户或用户组发送通知
  • 从您的Admin应用程序中,您需要调用服务器上可以触发通知的
    PHP
    脚本。我假设您已经知道如何调用
    PHP
    脚本,这与调用普通
    API
    数据库中执行操作相同
了解流程后,您需要遵循以下步骤

  • 按照教程启动
    Firebase
    项目并获取
    FCM通知
    功能从控制台获取firebase api密钥。

  • 用户应用程序中,使用以下代码订阅主题。用户登录应用程序后,将此代码放入
    活动的
    onCreate
    方法中。如果希望用户停止接收通知,请取消订阅该主题

    FirebaseMessaging.getInstance().subscribeToTopic("your topic name here"); //to subscribe
    FirebaseMessaging.getInstance().unsubscribeFromTopic("your topic name here"); //to unsubscribe
    
  • 将此代码放入
    PHP
    文件中,您需要调用它来触发通知

     define('FIREBASE_API_KEY', 'your firebase api key');
    
     $title = "this will display as notification title";
     $body = "subject of notification";
     $topic = "your topic name";
    
     $message["title"] = $title;
     $message["body"] = $body;
    
      $fields = array(
           'to' => '/topics/'.$topic,
           'notification' => $message,
       );
       // Set POST variables
       $url = 'https://fcm.googleapis.com/fcm/send';
    
       $headers = array(
           'Authorization: key=' . FIREBASE_API_KEY,
           'Content-Type: application/json'
       );
       // Open connection
       $ch = curl_init();
    
       // Set the url, number of POST vars, POST data
       curl_setopt($ch, CURLOPT_URL, $url);
    
       curl_setopt($ch, CURLOPT_POST, true);
       curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
       curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    
       // Disabling SSL Certificate support temporarly
       curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    
       curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
    
       // Execute post
     $result='';
     if($title!=null){ 
       $result = curl_exec($ch);
    
         if ($result === FALSE) {
             die('Curl failed: ' . curl_error($ch));
         }
     }  
       // Close connection
       curl_close($ch);
    
  • 现在从您的Admin应用程序调用这个
    PHP
    脚本。您可以根据需要传递参数。您将能够在用户应用程序中获得通知


您可以在
Android
代码中自定义通知,比如播放特定的声音。为此,您需要遵循我上面链接的官方文档指南。

但我的其他应用程序能否获得这些通知?