2012-04-17 16 views
0

誰かがこれを行うことができないと言われる前に、私はプロセスが互いに干渉することができない理由とこれが可能な条件の下で、多くの研究を行ってきました。私たちの問題は、デバイス間の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アクセス権がありますが、クライアントの電話機はアクセスできません。

+0

あなたはaospコードを調べましたか?設定でアプリを強制停止する方法あなたは同じことをすることができますか、彼らは特別な特権を持っていますか? – smith324

答えて

1

他のアプリケーションで暗黙のインテントを使用してサービスを終了することができます。あなたのサービスがアクセス権を強制しない限り、余分な権限は必要ありません。

ああ、私はサードパーティのアプリだということを見落とした。その場合、あなたは本当に多くをすることはできません。ごめんなさい。

+0

ああ、ありがとう:) –

関連する問題