Android从无知到有知——NO.6

Posted yfceshi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android从无知到有知——NO.6相关的知识,希望对你有一定的参考价值。

            紧随上一篇,说一下创建ip拨号器过程中出现的一些问题。

            1)在一開始监听外拨电话的时候会报这样一个警告:

                   Permission Denial: receiving Intent { act=android.intent.action.NEW_OUTGOING_CALL flg=0x10000010 (has extras) } to com.heng.ipdail/.OutCall requires android.permission.PROCESS_OUTGOING_CALLS due to sender com.android.phone (uid 1001)

                  从大概意思上能够看出,要想实现监听功能我们须要一个监听外拨电话的权限。找到清单文件,增加下面权限:android.permission.PROCESS_OUTGOING_CALLS。再载入一下就没问题了。

                 2)不显示LogCat。这个问题是昨晚刚发现的。要查看日志发现窗体没了,于是找了下资料,在一片博客里找到了答案,流程是这种: Preferences->Android->LogCat     然后设置成VERBOSE,上图一张:

技术分享

             3)模拟器没有拨号功能。

这个比較郁闷,找了非常久都没找到。最后在短信里发现了拨号功能,但仅仅能拨打已存在的电话,可能是我的软件有问题。还望大神指点一二。

             4)模拟器桥接断开。这个应该属于系统问题,我之前建了两个模拟器。这几天主要用的5554,但昨晚载入程序时总是挂到5556上,试了好几次都不行,然后问了下组长。说须要重新启动adb,先进入ddms(在windows中能找到。前边也说过这个),找到Threads,直接上图吧:

技术分享

                     5)最后补充一下上一篇提到的监听类(OutCall)。它继承了BroadcastReceiver,实现了接收事件的功能,作为四大组件之中的一个。我们须要在清单文件里对其进行配置:

<!-- 定义了一个广播接受者 ,它关心的事件为“新的外拨电话”-->
        <receiver android:name=".OutCall">
            <intent-filter >
                <action android:name="android.intent.action.NEW_OUTGOING_CALL"/>
            </intent-filter>
        </receiver>

                   这个定义是在application节点下的,首先指定名称(".OutCall),‘.‘代表当前包名;<intent-filter >为相应的意图过滤器,它通过指定action来设置当前监听器所关心的广播事件。我们用的是NEW_OUTGOING_CALL,当然还能够设置其它的关心事件,在本例中仅仅须要关心外拨电话就OK了。


以上是关于Android从无知到有知——NO.6的主要内容,如果未能解决你的问题,请参考以下文章

Android从无知到有知——NO.2

Docker学习-从无知到有知的学习过程

无知有知都要无畏

如何从一个片段导航到另一个片段?

将数据从活动发送到片段android工作室[重复]

Android:如何在选项卡内从一个片段导航到另一个片段? [关闭]