启动活动后如何中止通话并关闭拨号器?

PNDA

我记得,Avast防盗功能可让您设置一个“秘密密码”,您可以拨打该密码以打开UI。当我拨打电话时,发生的情况是呼叫未通过,然后拨号程序立即关闭,UI打开(或者UI超出了Dialer活动。我忘记了)。

我以某种方式实现了此功能,但是在我的活动进行到前面的同时,它不会转到呼叫中断,而是转到后台(绿色状态栏,正在响铃的电话等)。

拨打特定号码时,如何在打开自己的活动时中止通话?

我的方法的一些代码:

广播接收器:

public class OutgoingCallReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {

        // Match if action is outgoing call.

            Intent i = new Intent();
            i.setAction(HelperClass.ACTION_NEW_OUTGOINGCALL);
            i.setClassName(HelperClass.PACKAGE_NAME, HelperClass.CLASS_NAME_OUTGOING);
            i.putExtra(HelperClass.CONTACT_KEY, "contact");
            i.putExtra(HelperClass.CLIENT_DEVICE_KEY, "DUMMY");
            i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

            startActivity(i);

            // Apparently, this doesn't work
            abortBroadcast();





// --------------- FAILED ATTEMPT ---------------------

//        if (intent.getAction().equals(Intent.ACTION_NEW_OUTGOING_CALL)) {
//            TelephonyManager tm = (TelephonyManager) context
//                    .getSystemService(Context.TELEPHONY_SERVICE);
//            try {
//                // Java reflection to gain access to TelephonyManager's
//                // ITelephony getter
//                Log.v(HelperClass.TAG, "Get getTeleService...");
//                Class c = Class.forName(tm.getClass().getName());
//                Method m = c.getDeclaredMethod("getITelephony");
//                m.setAccessible(true);
//                com.android.internal.telephony.ITelephony telephonyService =
//                        (ITelephony) m.invoke(tm);
//            } catch (Exception e) {
//                e.printStackTrace();
//                Log.e(TAG,
//                        "FATAL ERROR: could not connect to telephony subsystem");
//                Log.e(TAG, "Exception object: " + e);
//            }
        }
    }
}

尝试失败:找不到ITelephony。失败的尝试来自https://stackoverflow.com/a/5314372/3979290

更新:尝试实施,失败。不确定如何实现:如何在Android中挂断电话?

还查看了:如何在固定的秒数后中止拨出电话?

PNDA

更新:添加setResultData(null);到广播接收器的工作正常。它立即结束了通话。

样本:

public class OutgoingCallReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        // Immediately cancels the call since this sets the number to null.
        setResultData(null);

        // Launch activity here/other stuff you want to do
        // Example:
        //     Intent i = new Intent(context, MyActivity.class);
        //     i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        //     context.startActivity(i);
    }
}

显现:

...
        <receiver
            android:name=".OutgoingCallReceiver"
            android:enabled="true"
            android:exported="true">
            <intent-filter android:priority="2147483647">
                <action android:name="android.intent.action.NEW_OUTGOING_CALL" />
            </intent-filter>
        </receiver>
...

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何打开电话拨号器?

来自分类Dev

如何实现VoIP自动(语音)拨号器

来自分类Dev

如何为Ubuntu 12.04 LTS设置DSL拨号器

来自分类Dev

如何为被测功能设置默认拨号器?

来自分类Dev

通话结束后如何在android中启动活动?

来自分类Dev

如何在通话仍处于活动状态时隐藏拨号意图

来自分类Dev

从流星应用程序启动拨号器应用程序

来自分类Dev

旋转拨号器定位

来自分类Dev

Twilio | 在X的拨号时间后如何修改通话?

来自分类Dev

旋转拨号器,如iPhone中的iRetro拨号器动画

来自分类Dev

如何使用phonegap在拨号器框中分配电话号码?

来自分类Dev

SIP拨号器的SIP服务器

来自分类Dev

关闭在Adapter中启动的活动后,如何刷新先前的片段?

来自分类Dev

创建自定义android拨号器

来自分类Dev

使用默认拨号器应用取消拨出电话

来自分类Dev

Google拨号器永久搜索控件上的小部件

来自分类Dev

连接完成后,如何使“拨号”窗口自动关闭?

来自分类Dev

直接打开标准拨号器,不使用意图选择器

来自分类Dev

尝试打开电话拨号器时,Flutter Flatbutton按下不起作用

来自分类Dev

在哪里可以找到用于修改Lollipop中的常规Android拨号器的代码?

来自分类Dev

启动后关闭位置选择器

来自分类Dev

显示器在两分钟不活动后关闭,直到我重新启动才会重新打开

来自分类Dev

如何添加一个拨号号码并按“通话”底部?

来自分类Dev

下载文件后如何启动活动?

来自分类Dev

收到短信后如何启动活动?

来自分类Dev

通话结束后如何停止媒体记录器?

来自分类Dev

启动程序后如何关闭CMD

来自分类Dev

如何确定通话活动的通道?

来自分类Dev

如何防止Selenium在每个功能启动后关闭浏览器?

Related 相关文章

  1. 1

    如何打开电话拨号器?

  2. 2

    如何实现VoIP自动(语音)拨号器

  3. 3

    如何为Ubuntu 12.04 LTS设置DSL拨号器

  4. 4

    如何为被测功能设置默认拨号器?

  5. 5

    通话结束后如何在android中启动活动?

  6. 6

    如何在通话仍处于活动状态时隐藏拨号意图

  7. 7

    从流星应用程序启动拨号器应用程序

  8. 8

    旋转拨号器定位

  9. 9

    Twilio | 在X的拨号时间后如何修改通话?

  10. 10

    旋转拨号器,如iPhone中的iRetro拨号器动画

  11. 11

    如何使用phonegap在拨号器框中分配电话号码?

  12. 12

    SIP拨号器的SIP服务器

  13. 13

    关闭在Adapter中启动的活动后,如何刷新先前的片段?

  14. 14

    创建自定义android拨号器

  15. 15

    使用默认拨号器应用取消拨出电话

  16. 16

    Google拨号器永久搜索控件上的小部件

  17. 17

    连接完成后,如何使“拨号”窗口自动关闭?

  18. 18

    直接打开标准拨号器,不使用意图选择器

  19. 19

    尝试打开电话拨号器时,Flutter Flatbutton按下不起作用

  20. 20

    在哪里可以找到用于修改Lollipop中的常规Android拨号器的代码?

  21. 21

    启动后关闭位置选择器

  22. 22

    显示器在两分钟不活动后关闭,直到我重新启动才会重新打开

  23. 23

    如何添加一个拨号号码并按“通话”底部?

  24. 24

    下载文件后如何启动活动?

  25. 25

    收到短信后如何启动活动?

  26. 26

    通话结束后如何停止媒体记录器?

  27. 27

    启动程序后如何关闭CMD

  28. 28

    如何确定通话活动的通道?

  29. 29

    如何防止Selenium在每个功能启动后关闭浏览器?

热门标签

归档