私はモバイルAPPを開発しています。着信コールを連絡先グループに基づいて別の番号に転送する必要があります。私は連絡先をグループに分け、各グループには異なる転送電番があります。着信を受けると、そのグループに基づいて転送する必要があります。ダイナミックAndroidコール転送
私はCall_State_RingingにPhoneStateListenerでこのコードを書いた:
package com.example.user2.callforwardnew;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.telephony.PhoneStateListener;
import android.telephony.TelephonyManager;
import android.util.Log;
import android.widget.Toast;
public class CallActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TelephonyManager telephonyManager =
(TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
PhoneStateListener callStateListener = new PhoneStateListener() {
public void onCallStateChanged(int state, String incomingNumber){
if(state==TelephonyManager.CALL_STATE_RINGING){
String url = "tel:" + "**21*" + "XXXXX" + Uri.encode("#");
Intent intent1 = (new Intent(Intent.ACTION_CALL, Uri.parse(url)));
intent1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent1);
}
if(state==TelephonyManager.CALL_STATE_OFFHOOK){
Toast.makeText(getApplicationContext(),"Phone is Currently in A call",
Toast.LENGTH_LONG).show();
}
if(state==TelephonyManager.CALL_STATE_IDLE){
Toast.makeText(getApplicationContext(),"phone is neither ringing nor in a call",
Toast.LENGTH_LONG).show();
}
}
};
telephonyManager.listen(callStateListener,PhoneStateListener.LISTEN_CALL_STATE);
}
}
を問題がある:最初の呼び出しは、唯一の電話転送にxxxxの番号を登録されて転送されません来るとき。 2番目の通話は正しい時に転送されます。 質問: 着信コール元の発信者IDを転送する方法
最初に電話をかけると、転送されません。それは、電話の転送の番号xxxx番号です。これはよく分かりませんが、これはわかりません。 – AxelH
:電話転送設定は無効です。 open:設定>マイデバイス>通話>追加設定>通話転送>音声通話を開きます。 最初のコールが到着し、電話機はレンジングし、コールは転送されません。しかし、最初のコールが来たら、電話転送設定が有効になり、xxxx番号が電話転送設定に登録されます。 2番目の所得コールはxxxxに正しく転送されます。 –
まあ、私はあなたが持っている意図は、このシステムを知らない設定を有効にすることだと思います。だから私はこれが論理だと思う。転送がすでに受信されているので、転送が遅れることになります。手動で試すこともできます。 (電話を受ける設定を変更できるかどうかは分かりませんが、既に呼び出し中の場合は転送されません) – AxelH