TL; DR Activity.startLockTask()
を使用して電話をかけるにはどうすればいいですか?Android Locktaskモードで通話を実行
私はAndroid搭載端末に制限された環境、つまり通常は「キオスクモード」を設定しようとしています。
公式ドキュメントはここで見つけることができます: https://developer.android.com/work/cosu.html
これを行う公式の方法はActivity.startLockTaskを使用することをお勧めします。
startLockTask()
モードのActivity
内から他のアプリを起動するまでは問題ありません。 起動するアクティビティは、新しいタスクスタックで開始してはいけません。さもなければ、システムは起動の意図をブロックします。つまり、Intent.FLAG_ACTIVITY_NEW_TASK
はありません。
いくつかのアプリはただ起動することができますが、他のアプリは暗黙的にこのフラグを設定しているようですが、startActivityForResult(...)
を使用することで回避策をとることができます(NEW_TASK
フラグを削除するようです)。それでもまだ動作しないアプリについては、私自身のコードをコード化することができます。
実際の問題は、新しいタスクスタックを強制するコールアプリケーションです。通話を開始すると通話が開始されますが、ステータスバーには通話通知が表示されます(startLockTask()
を使用中はアクセスできない) 他のアプリとは対照的に、通話アプリは、トン
DevicePolicyManager.html.setLockTaskPackages()は、この動作には影響を与えません...カスタムアプリケーションに置き換えること。
違いはありません。問題は、コールアプリ/アクティビティが新しいタスクスタックを強制することです。これはまさにロックモードが防止するものであり、コールUIを隠すことになります。 – darken