5

私のアプリケーションでは、新しい発信コールレシーバーを適用しました。正常に動作しています。新しい発信が行われるたびに取得します。

しかし今、私のデバイスにはダイヤルコール用の2つのアプリケーションがあります。1つ目はデフォルトのダイヤラで、2つ目は自分のダイヤラです(Call_Privilageを使用)。

私の質問は、その時点で受信機で新しいダイヤルのブロードキャストを受信したときに、どのダイヤラアプリケーションコールがダイヤルされたかをどのように知ることができるかということです。デフォルトのダイヤラまたは自分のダイヤラから?

4

1 に答える 1

7

私はこれを実装してテストしていませんが、これでうまくいくと思います。

あなたが電話をかける意図を持っているときはいつでもあなた自身のダイヤラアクティビティputExtraで、その時にあなたはそれでもう1つ渡す必要がありますcallIntent

例の場合:callIntent.putExtra("fromMyDialer",1);

これで、Receiverファイルに、以下のような1つのメソッドがあり、上記で渡した余分なものをチェックする必要があります。

@Override
public void onReceive(final Context context, final Intent intent) {
    if(intent.getIntExtra("fromMyDialer",0)==1)
      // from my own dialer activity
    else
        // from default dialor of phone

}
于 2012-06-23T05:33:31.887 に答える