私はアンドロイドモバイルアプリにFCM(Firebase Cloud Messaging)を統合しました。 FCMを通じてデバイスに通知を受け取ったときにアンドロイドデバイス(ルート)を再起動します。しかし、次のコードを使ってデバイスを再起動すると、デバイスが再起動し、自動的に再起動します(通知は送信しませんでしたが)。なぜこれが起こるのですか?これをどうすれば解決できますか?Androidデバイスを再起動し、FCM通知で2回再起動します。
Runtime.getRuntime().exec(new String[]{"su", "-c", "reboot now"});
this質問の右答えにmentioedように私はhttps://fcm.googleapis.com/fcm/send URLにPOSTリクエストを送信します。私はあまりにも早く、デバイスを再起動するとFCMは、それがメッセージを受信した情報を保存することはできませんと思われる
public class MyFirebaseMessagingService extends FirebaseMessagingService {
String restart = "restart";
String take_screenshot = "take_Screenshot";
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
Map<String, String> data = remoteMessage.getData();
final String myCustomKey = data.get("my_custom_key");
reboot();
}
private void reboot() {
try {
Runtime.getRuntime().exec(new String[]{"su", "-c", "reboot now"});
} catch (IOException e) {
}
}
}
この問題のデバッグを改善するために、スタックトレースを送信してください。 –
IMHO、プッシュ通知付きのデバイス再起動をトリガーするのは悪いユーザーエクスペリエンス***です。 –