我写每一个国际呼出呼叫的应用,给出了一个对话(对话这是一个活动)。该应用程序会中断呼出并为所有国际呼叫发出警报。在用户确认时,将放置一个具有相同号码的新呼叫。如何获得我从我的应用程序发出的呼叫通话结束通知 - Android电子
我的应用程序是非常相似,这一个 Outgoing call don't start
但是我的广播接收器接收,即使呼出,我从我的应用程序的地方,这会导致一个无限循环。我正在使用以下代码在来自我的应用程序的通话被放置后禁用广播接收器。
private void makeCall1(String number) {
PackageManager pm = mContext.getPackageManager();
ComponentName componentName = new ComponentName(mContext,OutgoingCallReceiver.class);
pm.setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);
Intent callIntent = new Intent(Intent.ACTION_CALL, Uri.parse(number));
startActivity(callIntent);
// Now wait for the call to end somehow and afterwards ->
// pm.setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);
}
我怎样才能恢复呼叫结束,它被放置由我,让我可以写一些代码,使未来的呼叫广播接收呼叫的通知。
您需要添加一个变量来控制它......当'BroadCastReceiver'首先被调用(即当用户调用的地方,这将是不从你的应用程序),然后将变量设置为true ...现在,如果只有true,则显示对话框,然后将该变量设置为false。 – Psypher
兰芝斯您好,感谢您的回复。当我设置一个标志为假后,我显示对话框和发出呼叫从我的应用程序,是由我自己的广播接收机接收到,我把从我的应用程序的调用(导致的无限循环).. 我必须在通话结束后将标志设置为假。任何想法如何得到这一点。 – user2314275
嗨..我刚刚添加它作为答案如下 – Psypher