我创建了一个应用程序,可以通过单击按钮来调用 sharedpreferencemenu 中指定的号码。这一切都完美无缺。
现在我的问题是:例如,当您的手机上有 voip 客户端或 Skype 并且您选择一个联系人或拨打一个号码时,您将可以选择要与之进行电话通话的那个。
但在我的应用程序中,它直接转到默认的 android 调用者。
这是我的代码:
SharedPreferences prefs;
prefs = PreferenceManager.getDefaultSharedPreferences(this);
final String callnumber = prefs.getString("call", "");
callbutton = (Button) findViewById(R.id.callbutton);
// Add PhoneStateListener
PhoneCallListener phoneListener = new PhoneCallListener();
TelephonyManager telephonyManager = (TelephonyManager) this
.getSystemService(Context.TELEPHONY_SERVICE);
telephonyManager.listen(phoneListener,
PhoneStateListener.LISTEN_CALL_STATE);
// Call Button Listener
callbutton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0)
{
String posted_by = callnumber;
String uri = "tel:" + posted_by.trim() ;
Intent intent = new Intent(Intent.ACTION_CALL);
intent.setData(Uri.parse(uri));
startActivity(intent);
}
});}
所以我的最后一个问题是:当我在我的应用程序中单击呼叫按钮时,我是否有可能选择哪个应用程序应该执行呼叫?