2

特定の番号の着信モードを変更したい。たとえば、番号を保存しました

String Number = "12345567"

着信コールで、チェックします

if(incoming_cal-_no == Number)
{
   ring_mode = silent
}

みたいなことをしたいのですが???これどうやってするの????

4

1 に答える 1

0

着信を聞くためのブロードキャスト レシーバーを作成する

着信コールを受信すると、発信情報を解析して電話番号を取得します

このようなもの

public class Telephone extends BroadcastReceiver {

private Context mContext;
private Intent mIntent;

@Override
public void onReceive(Context context, Intent intent) {
    mContext = context;
    mIntent = intent;
    TelephonyManager tm = (TelephonyManager)              
             context.getSystemService(Context.TELEPHONY_SERVICE);
    int events = PhoneStateListener.LISTEN_CALL_STATE;
    tm.listen(phoneStateListener, events);
}

private final PhoneStateListener phoneStateListener = 
                                            new PhoneStateListener() {
    @Override
    public void onCallStateChanged(int state, String incomingNumber) {
        String callState = "UNKNOWN";
        switch (state) {
        case TelephonyManager.CALL_STATE_IDLE:

            break;
        case TelephonyManager.CALL_STATE_RINGING:
                            // DO YOUR WORK HERE

                 put logic to silent the phone.

            break;
        case TelephonyManager.CALL_STATE_OFFHOOK:
                      if(incomingNumber.length() >0){


                              // incoming call
                             // DO YOUR WORK HERE when call is received





                        }
                       else{
                                  // outgoing call
                          }
            break;
        }

        super.onCallStateChanged(state, incomingNumber);
    }
};

}

于 2012-12-06T15:23:10.017 に答える