誰かがこれを行うことができないと言われる前に、私はプロセスが互いに干渉することができない理由とこれが可能な条件の下で、多くの研究を行ってきました。私たちの問題は、デバイス間のBluetoothサポートが矛盾していて、一部のデバイスのソリューションが既存のBluetoothサービスを停止し、別のアプリケーション(BlueFTP)を実行し、解放されたポートでリッスンしてOPP通信を管理できることです。別のパッケージからAndroidサービスを停止する
android.permission.RESTART_PACKAGES
許可+ActivityManager.restartPackage()
は、問題のパッケージを再起動するだけで動作しません。Process.killProcess
は明白な理由のために働く(APIを読んで)いないandroid.permission.KILL_BACKGROUND_PROCESSES
許可プラスのBluetoothアプリが殺されるので、資格がないバックグラウンドアプリとはみなされません(私はAPIごとに信じている)ので、ActivityManager.killBackgroundProcesses()
は無視されます。
現在、クライアントが特定の電話機に問題が発生している場合は、実行中のアプリケーションに移動し、問題のあるOPPサービスを強制停止してから、BlueFTPをリフレッシュしてポートリスナーを開始します。問題のサービスには、電話とAndroidのバージョンに応じて複数の可能な名前があります。
So.このプロセスは現在手動で行われていますが、設定で強制停止オプションをミラーリングするコードでこれを実現する方法があることが期待されています。より軽いオプションは、クライアントにその方法を説明する必要はなく、そのサービスの設定を開くのを助けることができますが、利用可能な場合は完全なソリューションを希望します。 デベロッパーの電話機にはrootアクセス権がありますが、クライアントの電話機はアクセスできません。
あなたはaospコードを調べましたか?設定でアプリを強制停止する方法あなたは同じことをすることができますか、彼らは特別な特権を持っていますか? – smith324