【发布时间】:2015-03-06 14:49:55
【问题描述】:
基本上我想从我的activities 之一中的一个按钮开始当前的电话用户界面。
到目前为止,我已经能够使用
发起新通话了Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:000000"));
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
或移动到电话簿使用:
Intent intent = new Intent(Intent.ACTION_CALL_BUTTON);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
我也尝试使用该代码,但它似乎不适用于 HTC 设备和某些华为设备(ri 是 null)。
Intent intentToResolve = new Intent(Intent.ACTION_MAIN);
intentToResolve.addCategory(Intent.CATEGORY_LAUNCHER);
intentToResolve.setPackage("com.android.phone");
ResolveInfo ri = getPackageManager().resolveActivity(intentToResolve, 0);
if (ri != null)
{
Intent intent = new Intent(intentToResolve);
intent.setClassName(ri.activityInfo.applicationInfo.packageName, ri.activityInfo.name);
intent.setAction(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}
我想要的是直接移动到呼叫 ui。行为与此过程中的相同:
- 正在通话中
- 返回主屏幕
- 展开通知栏
- 点击通话行
我不知道如何实现以及如何使其适用于所有设备。
感谢您的宝贵帮助。
【问题讨论】:
标签: android android-intent phone-call