web-dev-qa-db-ja.com

Android 10でアクティビティ(着信VoIPコール)を開く方法

Android 10では、アプリに新しい制限が適用されます。バックグラウンドからアクティビティを開始することはできません。これは、大部分のアプリでは問題ないかもしれませんが、必要なvoipアプリにとっては致命的な打撃です。プッシュ通知が届いた後に着信を表示する。

これによると https://developer.Android.com/guide/components/activities/background-starts アクティビティを開くことを許可するために満たすことができる条件のリストがありますが、私はそうしますそれを完全に理解していない(ここでは英語以外のネイティブ)。

私が間違いなく知っていることは、

  • 実行中のアクティビティ、タスク、バックスタックなどはありません

  • アプリは実行されていません

達成する必要があること:

  • アプリのFCMサービスはサーバーからプッシュを受信し、着信画面を表示します(ロック画面とすべての上に-Android 9以下)と同じように)

Android 10)で着信VoIP通話のアクティビティを開くにはどうすればよいですか?通常のユーザーがPHONEアプリに期待するのと同じように、ロック画面などで。

ヒントを事前にありがとう。

7
Grisgram

「他のアプリを上書きする」許可を求める必要がある場合、これを以前のバージョンと同じようにすることができます

  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
            if (!Settings.canDrawOverlays(this)) {
                RequestPermission();

        }
        }

    private void RequestPermission() {
        // Check if Android P or higher
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
            // Show alert dialog to the user saying a separate permission is needed
            // Launch the settings activity if the user prefers
            Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
                    Uri.parse("package:" + BuildConfig.APPLICATION_ID));
            startActivityForResult(intent, 
            ACTION_MANAGE_OVERLAY_PERMISSION_REQUEST_CODE);
        }
     }
0
Dinil ps