Android提高第十四篇之探秘TelephonyManager

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-02 06:40 点击:

上次介绍了如何使用JAVA的反射机制来调用蓝牙的隐藏API,这次继续练习JAVA的反射机制,探秘TelephonyManager在Framework里包含却在SDK隐藏的几项功能。先来看看本文程序运行的效果图:

\

 

本文程序演示了以下功能:

1.所有来电自动接听;

2.所有来电自动挂断;

3.开启/关闭Radio;

4.开启/关闭数据连接(WAP or NET的连接)。

调用TelephonyManager的隐藏API是先参考Framework的ase elephonyjavacomandroidinternal elephonyITelephony.aidl,然后自己实现一个ITelephony.aidl,最后在TelephonyManager中通过反射机制实例化自定义的ITelephony,实例化之后就可以调用ITelephony里面的函数了。

本文程序需要在AndroidManifest.xml添加以下两行代码,以获得权限:

view plaincopy to clipboardprint?
<uses-permission android:name="android.permission.CALL_PHONE" /> 
<uses-permission android:name="android.permission.MODIFY_PHONE_STATE" /> 
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />

main.xml源码如下:

view plaincopy to clipboardprint?
<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 
    <RadioGroup android:layout_height="wrap_content" 
        android:layout_width="fill_parent" android:id="@+id/rGrpSelect"> 
        <RadioButton android:layout_height="wrap_content" 
            android:layout_width="fill_parent" android:id="@+id/rbtnAutoAccept" 
            android:text="所有来电自动接听"></RadioButton> 
        <RadioButton android:layout_height="wrap_content" 
            android:layout_width="fill_parent" android:id="@+id/rbtnAutoReject" 
            android:text="所有来电自动挂断"></RadioButton> 
    </RadioGroup> 
    <ToggleButton android:layout_height="wrap_content" 
        android:layout_width="fill_parent" android:id="@+id/tbtnRadioSwitch" 
        android:textOn="Radio已经启动" android:textOff="Radio已经关闭" 
        android:textSize="24dip" android:textStyle="normal"></ToggleButton> 
    <ToggleButton android:layout_height="wrap_content" 
        android:layout_width="fill_parent" android:id="@+id/tbtnDataConn" 
        android:textSize="24dip" android:textStyle="normal" android:textOn="允许数据连接" 
        android:textOff="禁止数据连接"></ToggleButton> 
</LinearLayout> 
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:orientation="vertical" android:layout_width="fill_parent"
 android:layout_height="fill_parent">
 <RadioGroup android:layout_height="wrap_content"
  android:layout_width="fill_parent" android:id="@+id/rGrpSelect">
  <RadioButton android:layout_height="wrap_content"
   android:layout_width="fill_par

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • Android 完全退出程序
    • 原创:Android应用开发-Andorid歌词秀,含源码
    • android 屏幕保护
    • Android手机软件汉化教程---第四课 dex文件汉化
    • 众多Android 开源项目推荐,给力工作给力学习
    • Android Audio代码分析4
    • Android得到已安装的应用程序信息!
    • Android开发者指南(29) —— USB Host and Accessory
    • Android成长的幕后推手:工程师鲁宾
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1