2017-01-15 16 views
-1

私はあなたがAndroid開発のために考えることができる最も初心者です。私は基本的なプログラミングの知識を持っており、基本的にはYouTubeのビデオを見て、私はアプリを作って画面にあなたの位置をmainActivity.javaで表示します。今私は、番号を呼び出すと、私はそれが私のデバイスを再起動した後でも動作するようにしたいときに開くには、アプリをしたい。私は多くのチュートリアルを参照して、それがどのように動作するかを理解し、それに従うことが難しいです。だから私は具体的にどこにコードを配置するような具体的なものが必要AndroidManifest.xmlそして/または具体的にメインのクラスに配置する場所や、私は新しいクラスを作る必要がある場合。申し訳ありません。ありがとうございました!特定の番号を呼び出すときに私のアプリを初期化する方法

+0

私はあなたが求めているものを正確に理解していません。明確にすることはできますか? – EJoshuaS

+0

私はあなたが法的にこれを行うことができないかもしれないことを警告しなければなりません。私は2008年から2010年の期間にSnapIn Softwareという名前の会社に勤めました。彼らは、番号をダイヤルすることに応じてアプリを起動する特許を所有していました。この特許は、後継会社のNuance Communicationsが所有しています。私は弁護士ではありませんが、あなたは特許責任に目を向けるかもしれません。特許番号7,353,016 http://www.businesswire.com/news/home/20080401006204/en/SNAPin-Software-Awarded-U.S.-Patent-Call-Intercept –

答えて

0

AndroidアプリはIntentsIntent FiltersBroadcast Receiversの組み合わせを使用することにより、外部イベントをリッスン、あなたはそれhereについての詳細をお読みください。

具体的には、ユーザが新しい電話をかけたときにAndroidシステムによってブロードキャストされるNEW_OUTGOING_CALLというイベントを聞く必要があります。

これを行うには、この特定のイベントを聞くためにアプリケーションを登録し、それを処理するBroadcastReceiverクラスを作成する必要があります。

あなたの放送受信機は、多少のようになります。

public class MyReceiver extends BroadcastReceiver { 

     @Override 
     public void onReceive(Context context, Intent intent) { 
      String phonenumber = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER); 
      Log.d("OutgoingCallReceiver",phonenumber); 
      Log.d("OutgoingCallReceiver",intent.getExtras().toString()); 
     } 
} 

そして、あなたのマニフェストには、この受信機を宣言し、それがリッスンイベントを登録する必要があります:

<receiver android:name="MyReceiver" > 
    <intent-filter> 
     <action android:name="android.intent.action.NEW_OUTGOING_CALL" /> 
    </intent-filter> 
</receiver> 

handligの電話は危険なことができますので、新しい許可を使用するためにアプリマニフェストを登録する必要があります:

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

詳細については、hereをご覧ください。

関連する問題