2012-04-25 13 views
0

ユーザーが特定の電話をかけたときにアプリケーションをアクティブにしたい。適切なタイミングでアプリを起動するために、同じ時間(後ではない)でユーザーが呼び出している情報を取得する方法はありますか?モバイルへのユーザコールにアクセスするにはどうすればよいですか?

私は私の場合のために、このコードを書き、それが動作OK:

マニフェストに
public class OutgoingCallReceiver extends BroadcastReceiver { 

     public void onReceive(Context context, Intent intent) { 
       Bundle bundle = intent.getExtras(); 

       if(null == bundle) return; 

       String phonenumber = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER); 

       if(phonenumber.equals("11111111")) { 

        Intent myactivity = new Intent(context, MyKeyboard.class); 
        myactivity.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
        context.startActivity(myactivity); 

       } 

     } 

} 

私はこれを追加します。

<receiver 
      android:name=".OutgoingCallReceiver" 
      android:enabled="true"> 
        <intent-filter> 
         <action android:name="android.intent.action.NEW_OUTGOING_CALL"/> 
        </intent-filter> 
</receiver> 

<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/> 
+0

これは2つの方法で行うことができ、実装が比較的簡単ですが、実際に何をしたいのか明確ではないので、正確な答えを提供することは不可能です。コールインテントが呼び出されたときに呼び出されるアクティビティの1つを登録するか、インテントをリッスンして電話番号を取得するブロードキャストレシーバを作成することができます。作業。 –

+0

あなたの答えをありがとう。私はあなたが見ることができるように放送受信機を使用しましたが、方法が正しいかどうかわかりません。 – saloufa

答えて

0

私は本当に知りませんが、私はそれは本当にだと思います危険な練習。それはあなたのアプリで何をするつもりかによって異なります。レコーディングアプリの場合は、それを開発することについて考えることさえできないと思うし、それは多くの国で違法となるため、インターネットに投稿しないでください。それが私の見方であり、私はあなたの質問をどう感じますか。 Androidについては、15kの場所を検索する必要はありません。アンドロイドAPIをご覧ください。

http://developer.android.com/reference/android/provider/CallLog.Calls.html

これは、例えば、私はそれがリアルタイムログかどうかわからない、または通話が終了した後、それが満たされています場合。しかし、その方向で検索することができます。

関連する問題