Androidアプリケーションでは、*ContactsContract.Contacts.CONTENT_URI*でインテントアクション*ACTION_PICK*を使用して連絡先の選択を実装しました。この方法は(ほとんど)正常に機能しますが、残念ながら、着信イベントのアクティビティを制御することはできません。
アプリは、バックグラウンドで強制されたときにログアウトして終了する必要があります。現時点では、メインアクティビティにアクティビティイベントonStop()を使用して実装されていますが、システムからの連絡先アクティビティが開いている場合、アプリは明らかにそのイベントを受信しません。
なんとかしてコンタクトアクティビティをサブクラス化しようとしましたが、管理できないのではないかと思います。
さまざまなアクティビティ開始フラグを使用しようとしましたが、この状況に関連するフラグが見つかりませんでした(フラグがstartActivityForResult()メソッドで機能していないことは言うまでもありません)。
さまざまなブロードキャストイベントに接続しようとしましたが、アプリをバックグラウンドにプッシュしてしまう可能性が多すぎます。
上部にあるアプリケーションをポーリングするためのいくつかのトリックを見つけましたが、それにはGET_TASKS権限が必要であり、一般的にはとにかく大きなハックになります。行きたくない。
だから、私の質問を要約すると:
連絡先アクティビティが開いているときにアプリケーションがバックグラウンドに適用されていることを検出する方法はありますか?