TelephonyManager学习之一,获取网络状态,SIM卡信息和监听手机来电
2015-02-05 15:19
309 查看
JAVA代码:
ListView lv=(ListView) findViewById(R.id.lv); TelephonyManager tm=(TelephonyManager) getSystemService(TELEPHONY_SERVICE); String[] statusname=getResources().getStringArray(R.array.statusName); statusvalues.add(tm.getDeviceId());//获取设备编号。 statusvalues.add(tm.getDeviceSoftwareVersion()!=null?tm.getDeviceSoftwareVersion():"未知");//获取系统平台版本 statusvalues.add(tm.getNetworkOperator());//获取网络运营商代码 statusvalues.add(tm.getNetworkOperatorName());//获取网络运营商名称 statusvalues.add(tm.getPhoneType()+"");//获取手机网络类型 statusvalues.add(tm.getCellLocation()!=null?tm.getCellLocation()+"":"未知");//获取设备所在位置 statusvalues.add(tm.getSimCountryIso());//获取SIM卡国别 statusvalues.add(tm.getSimSerialNumber());//获取SIM卡序列号 statusvalues.add(tm.getSimState()+"");//获取SIM卡的状态 ArrayList<Map<String,String>>data=new ArrayList<Map<String,String>>(); for (int i = 0; i < statusvalues.size(); i++) { HashMap<String, String> map=new HashMap<String, String>(); map.put("name", statusname[i]); map.put("Value", statusvalues.get(i)); data.add(map); } SimpleAdapter adapter=new SimpleAdapter(this, data,R.layout.list, new String[]{"name","Value"},new int[]{R.id.name,R.id.value}); lv.setAdapter(adapter); /** * 监听手机来电 */ PhoneStateListener psl=new PhoneStateListener(){ @Override public void onCallStateChanged(int state, String incomingNumber) { super.onCallStateChanged(state, incomingNumber); switch(state){ //无任何状态 case TelephonyManager.CALL_STATE_IDLE:break; case TelephonyManager.CALL_STATE_OFFHOOK:break; //来电铃响时 case TelephonyManager.CALL_STATE_RINGING: Toast.makeText(MainActivity.this,new Date()+"电话号码"+incomingNumber , 0).show(); break; } } }; //监听电话通话状态的改变 tm.listen(psl, PhoneStateListener.LISTEN_CALL_STATE);其中 :R.array.statusName可以在res/values的strings.xml文件中创建
<string-array name="statusName"> <item>设备编号</item> <item>系统平台版本</item> <item>网络运营商代码</item> <item>网络运营商名称</item> <item>手机网络类型</item> <item>设备所在位置</item> <item>获取SIM卡国别</item> <item>获取SIM卡序列号</item> <item>获取SIM卡的状态</item> </string-array>其他两个layout文件中:一个是主layout里面放个<ListView/>就可以了,第二个是ListView自定义样式,自己定义。
相关文章推荐
- Android获取手机状态和监听手机来电状态
- Android初学习 - 获取手机状态和监听手机来电状态
- Android获取手机状态和监听手机来电状态
- Android端如何获取手机当前的网络状态,比如wifi还是3G, 还是2G, 电信还是联通,还是移动
- Android端如何获取手机当前的网络状态,比如wifi还是3G, 还是2G, 电信还是联通,还是移动
- ios如何获取手机的网络状态和运营商名称
- 朝花夕拾-android 获取当前手机的内存卡状态和网络连接状态
- android--解决方案--用BroadcastReceiver监听手机网络状态变化
- 举例说明在android中用PhoneStateListener监听手机电话状态与用发送邮件来通知来电电话的号码
- Android学习之 监听网络连接状态的改变
- 安卓学习笔记--获取网络连接状态
- iOS如何获取手机当前的网络状态
- ios如何获取手机的网络状态和运营商名称
- Android端如何获取手机当前的网络状态,比如wifi还是3G, 还是2G, 电信还是联通,还是移动
- 安卓学习笔记--获取网络连接状态
- android获取手机的网络状态
- 监听手机的网络连接状态
- 监听手机状态 网络,电话,位置等等~
- Windows Phone 8 获取与监听网络连接状态(转)
- 【android】解决方案--用BroadcastReceiver监听手机网络状态变化