我正在开发针对API 28的呼叫拦截器应用程序。
我已将该应用程序设置为默认拨号程序应用程序,以便使用从Android扩展InCallService的服务来获取所有传入和传出呼叫的信息。
<service
android:name=".CallService"
android:permission="android.permission.BIND_INCALL_SERVICE">
<meta-data
android:name="android.telecom.IN_CALL_SERVICE_UI"
android:value="true" />
<intent-filter>
<action android:name="android.telecom.InCallService" />
</intent-filter>
现在,我想为拨入或拨出电话打开默认拨号程序应用程序的呼叫屏幕,这样我就不必处理呼叫接收功能。
我通过传递空URI来尝试Intent.ACTION_CALL
。
Intent i = new Intent (Intent.ACTION_CALL, null);
i.setFlag(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(i);
它可以工作,但也会在后台崩溃,这会关闭我的应用程序(如果应用程序在前台)。
是否可以通过其他应用程序打开默认的来电屏幕。