2015-06-24 46 views
-3

,我想我的應用程序來檢測,如果新的呼出發生檢測新的呼出的Android

我想要做這樣的事情:

if (there was a new outgoing call) { 
    do... 
} else { 
    do... 
} 
+2

編寫你自己的代碼,只有當它不起作用時纔來到這裏。 – Kon

+0

我想你不明白這個網站的目的,幫助計算機科學的人!您的評論是愚蠢的 –

+0

http://stackoverflow.com/help/how-to-ask閱讀如何提出一個好問題。 – Kon

回答

0

您可以使用android Broadcast Reciever。要使用它,所有你需要做的是首先,

創建一個新的處理類來處理廣播接收器。

public class OutgoingCallReceiver extends BroadcastReceiver { 
    @Override 
    public void onReceive(Context context, Intent intent) { 
    //You can do this to get the phone number, it is only optional 
    String phoneNumber = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER); 

    //Handle outgoing call event here 
    } 
} 

然後將它註冊到android清單中,以便它知道這個方法在哪裏。

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

最後,創建於Android清單權限。

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

而且應該這樣做,希望我能幫上忙。 :)

0

創建廣播接收器捕捉呼出:

public class CallReceiver extends BroadcastReceiver 
{ 
    @Override 
    public void onReceive(Context context, Intent intent) 
    { 
     // your code 
    } 
} 

然後在清單中註冊:

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

最後設置的權限:

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

檢測打出電話事件

1)創建OutgoingCallBroadcastReceiver

public class OutgoingCallReceiver extends BroadcastReceiver { 
@Override 
public void onReceive(Context context, Intent intent) { 
    Log.d(OutgoingCallReceiver.class.getSimpleName(), intent.toString()); 
    Toast.makeText(context, "Outgoing call catched!", Toast.LENGTH_LONG).show(); 
    //TODO: Handle outgoing call event here 
} 

} 
  • 註冊OutgoingCallBroadcastReceiver在AndroidManifest.xml

  • 添加權限在AndroidManifest.xml