`
qianjiangbing
  • 浏览: 92078 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

TelephonyManager类的强大功能

阅读更多
package com.ljq.activity;

import java.util.ArrayList;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.telephony.TelephonyManager;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.TextView;

public class TelephonyManagerActivity extends Activity {
    private ListView listView=null;
    private TelephonyManager tm=null;
    private String[] phoneType=null;
    private String[] simState=null;
    private String[] listItems=null;
    ArrayList<String> listValues=new ArrayList<String>();
    BaseAdapter adapter=new BaseAdapter(){

        public int getCount() {
            return listItems.length;
        }

        public Object getItem(int position) {
            return listItems[position];
        }

        public long getItemId(int position) {
            return position;
        }

        public View getView(int position, View convertView, ViewGroup parent) {
            LinearLayout ll=new LinearLayout(TelephonyManagerActivity.this);
            ll.setOrientation(LinearLayout.VERTICAL);
            TextView tvItem=new TextView(TelephonyManagerActivity.this);
            tvItem.setTextSize(24);
            tvItem.setText(listItems[position]);
            tvItem.setGravity(Gravity.LEFT);//设置在父容器中的对齐方式
            ll.addView(tvItem);
            TextView tvValue=new TextView(TelephonyManagerActivity.this);
            tvValue.setTextSize(18);                    //设置字体大小
            tvValue.setText(listValues.get(position));    //设置显示的内容
            tvValue.setPadding(0, 0, 10, 10);            //设置四周边界
            tvValue.setGravity(Gravity.RIGHT);   
            ll.addView(tvValue);
            return ll;
        }
       
    };

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
       
        listItems=getResources().getStringArray(R.array.listItem);
        simState=getResources().getStringArray(R.array.simState);
        phoneType=getResources().getStringArray(R.array.phoneType);
        tm=(TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
        listView=(ListView)findViewById(R.id.listView);
        initListValues();
        listView.setAdapter(adapter);
    }
   
    /**
     * 获取各个数据项的值
     */
    public void initListValues(){           
        listValues.add(tm.getDeviceId());//获取设备编号
        listValues.add(tm.getSimCountryIso());//获取SIM卡国别
        listValues.add(tm.getSimSerialNumber());//获取SIM卡序列号   
        listValues.add(simState[tm.getSimState()]);//获取SIM卡状态
        listValues.add((tm.getDeviceSoftwareVersion()!=null?tm.getDeviceSoftwareVersion():"未知"));    //获取软件版本
        listValues.add(tm.getNetworkOperator());//获取网络运营商代号
        listValues.add(tm.getNetworkOperatorName());//获取网络运营商名称
        listValues.add(phoneType[tm.getPhoneType()]);//获取手机制式
        listValues.add(tm.getCellLocation().toString());//获取设备当前位置
    }
}
分享到:
评论

相关推荐

    Android TelephonyManager详解及实现代码

    总的来说,`TelephonyManager`结合反射机制,可以让你的Android应用具备更强大的电话管理能力,但请注意,这些功能可能会对用户隐私和系统稳定性造成影响,因此在实际应用中需谨慎使用。同时,由于涉及敏感权限,...

    Android中TelephonyManager用法实例

    总的来说,`TelephonyManager`为Android开发者提供了一种强大的手段,来获取与电话通信相关的详细信息,这在开发涉及电话功能的应用时非常有用,如电话管理、网络诊断、位置服务等。了解并正确使用`TelephonyManager...

    android系统java反射机制详解

    Java反射机制是Java编程语言中的一个强大工具,它允许程序在运行时检查和操作类、接口、对象等的内部信息。在Android系统中,Java反射机制同样被广泛应用,尤其是在动态加载类、处理不确定类型的对象、调用私有方法...

    Android软件包-通话辅助类

    通过深入理解并熟练运用这些类,开发者可以创建出功能强大的通话管理应用。 1. `Intent`与`BroadcastReceiver`: 在Android中,通话事件如来电、去电、通话结束等都会以广播的形式发送出去。开发者可以注册`...

    android native hook

    lib泱泱dy是一个流行的动态库,用于实现系统级的hook功能,它提供了方便的API供开发者使用。 5. **钩子函数类型** - **预钩子(Pre-Hook)**:在目标函数执行前触发,可以用来记录信息或者改变参数。 - **后钩子...

    android telephony api

    总的来说,Android Telephony API为开发者提供了强大的能力,能够构建各种与电话相关的功能,包括但不限于来电显示应用、通话记录管理工具以及网络诊断工具。但同时,开发者也需谨慎处理这些敏感数据,遵循最佳实践...

    The Java API to Android’s Telephony Stack

    开发者可以通过`TelephonyManager`类访问各种电话状态信息,例如当前网络运营商的信息、SIM卡状态等。以下是一个简单的示例: ```java TelephonyManager telephonyManager = (TelephonyManager) getSystemService...

    Android程序研发源码Android 多功能拨号盘源码.zip

    4. **电话接口**:Android提供了TelephonyManager类来与系统电话服务交互,如获取SIM卡信息、拨打电话、挂断电话等。拨号盘应用会使用这个类的`call()`方法来拨打电话号码。 5. **权限管理**:拨打电话需要申请`...

    android挂断电话所需文件

    反射是Java语言的一个强大特性,它允许运行时动态访问类的成员,包括私有成员和未公开的方法。在Android中,挂断电话的API并没有直接暴露给开发者,所以我们需要通过反射来调用。 以下是一个简单的示例,展示了如何...

    android 显示手机号码,手机imei imsi 手机设备号

    如果需要更复杂的控制,如音乐列表、暂停、继续等,可以使用`ExoPlayer`库,它提供了更强大的功能和更好的性能。 至于“NumberSound”,从文件名来看,可能是与数字相关的音频文件或处理数字声音的程序。在Android...

    基于Android的运动APP设计与实现.doc

    Android系统的特点是开放式的、可扩展的和灵活的,它提供了丰富的开发接口和组件,使得开发者可以快速地开发出功能强大且美观的应用程序。Android系统的架构主要包括四个层次:应用程序层、应用程序框架层、库层和...

    双卡手机来电防火墙参考源码

    Android提供了Phone类和TelephonyManager类,用于管理和控制电话功能。源码中可能包含了创建自定义接听和挂断逻辑,这些逻辑可能需要与系统的电话服务进行交互,以实现自动接听或挂断特定号码的来电。 总之,这个...

    android 手机报警系统demo

    Android的TelephonyManager类提供了拨打电话的接口。在报警状态下,Demo会调用此接口,自动拨打预设的紧急联系人电话。需要注意的是,为了用户隐私和安全,此功能在实际应用中可能需要用户的明确授权。 4. **发送...

    android telephony 介绍.doc

    在Android系统中,Telephony模块是负责处理手机通信功能的核心...理解并熟练运用这些API,可以创建出功能强大的通信应用,满足用户的多样化需求。在实际开发中,应确保遵循最佳实践,同时注意权限管理和用户隐私保护。

    取得电信网络与手机的相关信息

    在Android开发中,获取电信网络和手机的相关信息是常见的需求,...总的来说,理解和熟练使用`TelephonyManager`和`System`类是提升Android开发能力的重要步骤,它们为开发者提供了与设备硬件和网络状态交互的强大工具。

    Android系列之如何判断网络链接状态

    对于更深层次的数据连接状态监测,`TelephonyManager`提供了一个强大的工具集。它允许开发者监听各种电话状态事件,包括数据连接状态的改变。 1. 获取`TelephonyManager`实例: ```java TelephonyManager ...

    防丢APP源码

    2. **SIM卡信息获取**:利用Android提供的TelephonyManager类,可以获取到SIM卡的相关信息,如SIM卡ID(IMSI)、SIM卡序列号(ICCID)等。这些信息可以用来判断当前SIM卡是否与原始SIM卡一致。 3. **短信发送**:...

    本人整理的android开发文档 第10章 硬件

    Android还提供了强大的通信硬件API,包括电话包、蓝牙和Wi-Fi库,使应用能够实现各种通信功能。例如,通过电话包API,应用可以监控电话状态、拨打电话或发送短信;蓝牙和Wi-Fi库则允许应用发现和连接其他设备,进行...

    Android review 打电话

    总结,Android平台为开发者提供了强大的电话功能支持,但同时也需要谨慎处理权限和安全问题。通过理解并正确使用这些API,开发者可以创建出满足用户需求的电话功能应用。在开发过程中,务必遵循最佳实践,确保应用的...

Global site tag (gtag.js) - Google Analytics