2
我正在開發一個android應用程序,我需要在應用程序的後臺使用MMI代碼撥打電話。但默認情況下,android手機的通話應用程序被激活,我必須從那裏按通話按鈕。所以我想爲此解決方案....如何在android應用程序的背景中撥打電話
我正在開發一個android應用程序,我需要在應用程序的後臺使用MMI代碼撥打電話。但默認情況下,android手機的通話應用程序被激活,我必須從那裏按通話按鈕。所以我想爲此解決方案....如何在android應用程序的背景中撥打電話
如果你會提供一些代碼比它會有所幫助其他明智的你有沒有在你的應用程序清單文件中聲明修改手機狀態的權限。
<uses-permission android:name="android.permission.MODIFY_PHONE_STATE"></uses-permission>
您可以嘗試給定的簡單代碼,它直接啓動對代碼123456789中提供的no的調用,並且不會爲此單擊調用按鈕。是的,不要忘記在manifest文件添加權限:
<uses-permission android:name="android.permission.CALL_PHONE"></uses-permission>
代碼:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button b=(Button)findViewById(R.id.button1);
b.setOnClickListener(new OnClickListener(){
public void onClick(View arg0) {
// TODO Auto-generated method stub
try {
Intent callIntent = new Intent(Intent.ACTION_CALL);
callIntent.setData(Uri.parse("tel:123456789"));
startActivity(callIntent);
} catch (ActivityNotFoundException activityException) {
Throwable e = null;
Log.e("helloandroid dialing example", "Call failed", e);
}
}});
}
字符串callForwardString = 「#21#」; Intent intentCallForward = new Intent(Intent.ACTION_DIAL); // ACTION_CALL Uri uri2 = Uri.fromParts(「tel」,callForwardString,「#」); intentCallForward.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intentCallForward.setData(uri2); startActivity(intentCallForward); finish(); –