我需要在我的应用程序后台调用,所以当用户点击一个按钮时,它应该开始在后台调用,用户会知道他正在呼叫,但他不会看到拨号器,他会看到该应用程序,在呼叫时重现声音。
基本上我想要的是在不退出活动的情况下拨打电话
我尝试了一项服务,但它不起作用
Intent callIntent = new Intent(Intent.ACTION_CALL);
callIntent.setData(Uri.parse("tel:123456789"));
startService (callIntent);
抱歉我的英文
答案 0 :(得分:1)
试试这个:
Intent callIntent = new Intent(Intent.ACTION_CALL);
callIntent.setData(Uri.parse("tel:123456789"));
startActivity(callIntent);
* 注意startActivity(callIntent)
,而不是startService(callIntent);
。
您还可以试用ACTION_DIAL
,而不是ACTION_CALL
。您还需要此权限,但请将其放在AndroidManifest
:
<uses-permission android:name="android.permission.CALL_PHONE" />
答案 1 :(得分:1)
代码背后:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
call();
}
private void call() {
try {
Intent callIntent = new Intent(Intent.ACTION_CALL);
callIntent.setData(Uri.parse("tel:123456789"));
startActivity(callIntent);
} catch (ActivityNotFoundException e) {
Log.e("sample call in android", "Call failed", e);
}
}
<强>的Manifest.xml 强>
添加..
<uses-permission android:name="android.permission.CALL_PHONE"></uses-permission>
或者,
<uses-permission android:name="android.permission.CALL_PRIVILEGED"></uses-permission>
修改强> 好吧, tasomaniac 对OP现有的当前活动提出了一个很好的观点。
基本上我想要的是拨打电话而不退出活动。
但是在android中的电话接口的呼叫状态期间不可能做任何事情。一个可能的好解决方案是PhoneStateListener
来看看呼叫何时结束然后恢复你当前的活动。一些非常好的解决方案被描述..