1

通話のブロックと配信に関してイライラする問題があります。

私のアプリの流れは次のとおりです。

  1. NEW_OUTGOING_CALLのインテントを受信し、(によってsetResultData(null);)通話を停止し、サービスSを開始する放送受信機BR 。
  2. Sは、呼び出すかどうかを決定します(そしてダイアログを表示します)。フラグを付けて呼び出すことstartActivity()にした場合。(そして、次にBRがそれを受信するときにそれがブロックされないように、いくつかの識別子を入れます。ACTION_CALLNEW_TASK

このフローはこれまではうまく機能しましたが、Galaxy S3では問題があります

  1. 呼び出しをブロックするだけです。新しい呼び出しのstartActivity()は機能しません。
  2. これは、システムがまだ最初のリクエストを処理していて、新しい呼び出しをドロップしたために発生したと思います。
  3. abortBroadcast();を呼び出そうとしました。BRからですが、「呼び出しが送信されませんでした」oppupを受け取りました。これは、システムがまだその意図を処理していることを意味します。
  4. 2つの呼び出しの間に少し時間がかかるように、サービスにポストディレイを設定することで、目的の機能を取得することに成功しました。

新しい呼び出しを遅らせることなく、目的の機能を実現できますか?

4

0 に答える 0