2011-12-29 16 views
-4
public void onReceive(Context context, Intent intent) { 
context.startService(new Intent(context,MyPhoneStateListener.class));  
MyPhoneStateListener lst=new MyPhoneStateListener(context); 
TelephonyManager telephonyManager = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE); 
telephonyManager.listen(lst, PhoneStateListener.LISTEN_CALL_STATE); 
} 

public IBinder onBind(Intent arg0) 
{ // TODO Auto-generated method stub return null; 

} 
} 

    // class MyPhoneStateListener extends PhoneStateListener 
{ 
    //private static final String TAG = "PhoneStateChanged"; 
    Context context; 
    //Context to make Toast if required 
    public MyPhoneStateListener(Context context) 
    { 
    super(); 
    this.context = context; 
    } 

@Override 
public void onCallStateChanged(int state, String incomingNumber) { 
super.onCallStateChanged(state, incomingNumber); 

switch (state) 
    { 
    case TelephonyManager.CALL_STATE_IDLE: //when Idle i.e no call 
    Toast.makeText(context, "Phone state Idle", Toast.LENGTH_LONG).show(); 
    break; 
    case TelephonyManager.CALL_STATE_OFFHOOK: //when Off hook i.e in call //Make intent and start your service here Toast.makeText(context, "Phone state Off hook", Toast.LENGTH_LONG).show(); 
    break; 
    case TelephonyManager.CALL_STATE_RINGING: //when Ringing Toast.makeText(context, "Phone state Ringing", Toast.LENGTH_LONG).show(); 
    break; 
    default: break; 
} } } 

ユーザが電話をかけたときにコールを終了するアプリケーションを開発したい場合は、まずその番号が格納されているかどうかをデータベースから検出する必要があります。それは良いアイデアだろう。サービスや放送受信機を使用するには、私が最後の1週間試していたコードでお手伝いをしてください。私は放送受信機を使用したが、それは受信機を除いて、他の活動strtsでの呼び出しcumsのように役立たなかった。誰かが電話をかけたときに電話を終了する

<receiver 
     android:exported="true" 
     android:name=".receiver.OutgoingCall" > 
     <intent-filter android:priority="0" > 
      <action android:name="android.intent.action.NEW_OUTGOING_CALL" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
     </intent-filter> 
    </receiver> 

次に従ってください:あなたは、あなたのマニフェストに受信機を登録する必要が

+1

誰があなたの質問を編集して、私の親愛なる友人になるのですか? –

+0

ダイヤル番号がリストにないときに発信コールをドロップしますか? – kingston

答えて

2

私はあなたと呼ばれる番号がリストにない場合には、発信コールをドロップすることを想定していますthis

関連する問題