[英]INTENT.ACTION_CALL in background
我需要在我的应用程序中后台调用,因此,当用户单击一个按钮时,它应该开始在后台调用,用户将知道他正在呼叫,但是他不会看到Dialer,而是会看到该应用程序,以便进行复制通话时发出声音。
所以基本上我想要的是拨打电话而不退出活动
我尝试了一项服务,但没有用
Intent callIntent = new Intent(Intent.ACTION_CALL);
callIntent.setData(Uri.parse("tel:123456789"));
startService (callIntent);
对不起我的英语
试试这个:
Intent callIntent = new Intent(Intent.ACTION_CALL);
callIntent.setData(Uri.parse("tel:123456789"));
startActivity(callIntent);
* 注意startActivity(callIntent)
,而不是startService(callIntent);
。
您也可以尝试使用ACTION_DIAL
代替ACTION_CALL
。 您还需要此权限,但要将其放在AndroidManifest
的Application标记之前:
<uses-permission android:name="android.permission.CALL_PHONE" />
背后的代码:
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>
编辑:好吧, 塔斯马尼亚克对OP也想要的现有当前活动提出了很好的看法 。
所以基本上我想要的是拨打电话而不退出活动 。
但是在PhoneStateListener
的电话接口的通话状态期间不可能做任何事情PhoneStateListener
可能是一个好的解决方案,它可以查看通话何时结束并随后恢复当前活动。其中描述了一些非常好的解决方案。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.