- 浏览: 212313 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
gotosuzhou:
我想问下, 怎么设置汉字 我这个验证码想要有汉字
kaptcha 验证码组件使用简介 -
摸爬滚打NO1:
很好,详细
kaptcha 验证码组件使用简介 -
guodage003:
这是怎么回事?
eclipse提示failed to create JVM -
joefei:
我修改第二个没用,修改了第一个,size为128才可以
eclipse提示failed to create JVM -
tingle:
签名后的,可以吗?
Android APK反编译
做手机开发,想必都希望获取手机号码吧,android中有一个类android.telephony.TelephonyManager提供这个功能。
TelephonyManager tm = (TelephonyManager)this.getSystemService(Context.TELEPHONY_SERVICE);
numberText.setText(tm.getLine1Number());
红色标记函数能够获取本机号码。
除此之外,TelephonyManager类还提供了多种获取手机信息的函数,入imei、imsi等。、
看代码:
package com.pingan.innovation;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.telephony.TelephonyManager;
import android.widget.TextView;
public class PhoneInfo extends Activity {
private TextView numberText;
private TextView imeiText;
private TextView onText;
private TextView snText;
private TextView imsiText;
private TextView ssText;
private TextView ntText;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
numberText = (TextView) findViewById(R.id.numberText);
imeiText = (TextView) findViewById(R.id.imeiText);
onText = (TextView) findViewById(R.id.onText);
snText = (TextView) findViewById(R.id.snText);
imsiText = (TextView) findViewById(R.id.imsiText);
ssText = (TextView) findViewById(R.id.ssText);
ntText = (TextView) findViewById(R.id.ntText);
TelephonyManager tm = (TelephonyManager)this.getSystemService(Context.TELEPHONY_SERVICE);
numberText.setText(tm.getLine1Number());
imeiText.setText(tm.getDeviceId());
onText.setText(tm.getNetworkOperatorName());
snText.setText(tm.getSimSerialNumber());
imsiText.setText(tm.getSubscriberId());
ssText.setText(tm.getNetworkCountryIso());
ntText.setText(tm.getNetworkOperator());
}
}
以上几个函数分别获取的是:
手机号码、imei、运营商名称、sim卡序列号、IMSI、sim卡所在国家、运营商编号。
对了,AndroidManifest.xml里面还需加上:<uses-permission android:name="android.permission.READ_PHONE_STATE" />
这样才能有对手机信息的访问权限。
不过,经过在HTC Hero真机上的测试,发现获取不到手机号码。
在Ophone系统的多普达A6188上测试,同样也取不到手机号码。
Build bd = new Build();
String model = bd.MODEL;
TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
StringBuilder sb = new StringBuilder();
sb.append("/nDeviceId(IMEI) = " + tm.getDeviceId());
sb.append("/nDeviceSoftwareVersion = " + tm.getDeviceSoftwareVersion());
sb.append("/nLine1Number = " + tm.getLine1Number());
sb.append("/nNetworkCountryIso = " + tm.getNetworkCountryIso());
sb.append("/nNetworkOperator = " + tm.getNetworkOperator());
sb.append("/nNetworkOperatorName = " + tm.getNetworkOperatorName());
sb.append("/nNetworkType = " + tm.getNetworkType());
sb.append("/nPhoneType = " + tm.getPhoneType());
sb.append("/nSimCountryIso = " + tm.getSimCountryIso());
sb.append("/nSimOperator = " + tm.getSimOperator());
sb.append("/nSimOperatorName = " + tm.getSimOperatorName());
sb.append("/nSimSerialNumber = " + tm.getSimSerialNumber());
sb.append("/nSimState = " + tm.getSimState());
sb.append("/nSubscriberId(IMSI) = " + tm.getSubscriberId());
sb.append("/nVoiceMailNumber = " + tm.getVoiceMailNumber());
Log.v("DeviceInfo", sb.toString());
Log.v("Model", model);
this.registerReceiver(this.mBatInfoReceiver, new IntentFilter(
Intent.ACTION_BATTERY_CHANGED));//获得电量
BroadcastReceiver mBatInfoReceiver = new BroadcastReceiver() {//广播出电量值
@Override
public void onReceive(Context arg0, Intent intent) {
batterylevel = intent.getIntExtra("level", 0);
updateBatteryStatsBylevel(batterylevel);
TitleInfo.batterylevel = batterylevel;
Log.i("batterylevel_value", String.valueOf(batterylevel));
}
};
package maximyudin.BatteryLevel;
import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.widget.TextView;
public class BatteryLevel extends Activity {
private TextView tvBatteryLevel;
private BroadcastReceiver mBatteryInfoReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (Intent.ACTION_BATTERY_CHANGED.equals(action)) {
int level = intent.getIntExtra("level", 0);
int scale = intent.getIntExtra("scale", 100);
tvBatteryLevel.setText("Battery level: "
+ String.valueOf(level * 100 / scale) + "%");
}
}
};
@Override
public void onResume() {
super.onResume();
registerReceiver(mBatteryInfoReceiver, new IntentFilter(
Intent.ACTION_BATTERY_CHANGED));
}
@Override
public void onPause() {
super.onPause();
unregisterReceiver(mBatteryInfoReceiver);
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tvBatteryLevel = (TextView) findViewById(R.id.tvBatteryLevel);
}
}
<?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"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/tvBatteryLevel" android:text="Battery level:"/>
</LinearLayout>
发表评论
-
android2.2根据电话号码查询联系人姓名的方法
2012-09-16 23:28 2424public class AndroidTest extend ... -
Android下PopupWindow隐藏及显示(showAtLocation/showAsDropDown)
2012-08-26 00:56 13001上一篇对PopupWindow的用法(位置、动画、焦点)做了详 ... -
Android中PopupWindow的用法(位置、动画、焦点)
2012-08-26 00:54 1984在Android中有很多级别的Window,不同级别的Wind ... -
Color android
2012-08-24 15:07 1132有以下12种常见的颜色: Color.BLACK ... -
【Android布局】在程序中设置android:gravity 和 android:layout_Gravity属性
2012-08-16 15:03 936在进行UI布局的时候,可能经常会用到 android:g ... -
android ksoap 报错 org.xmlpull.v1.XmlPullParserException: expected: START_TAG 的解决经
2012-08-14 19:47 0在android上 调用webservice出现这个错误 ... -
Android与服务器端数据交互(基于SOAP协议整合android+webservice)
2012-08-14 12:31 1972转自:http://www.open-ope ... -
Android 实现省份城市的选择,并获取城市编号
2012-08-14 00:47 18619该程序主要使用 中央气象局 省份 城市数据库为基础 进行 ... -
让你全面了解SQLite
2012-08-14 00:45 1309一.SQLite的介绍1.SQLite简介SQLite是 ... -
android 模拟器手机如何添加文件到sd卡
2012-08-14 00:05 1319使用android手机模拟器 ... -
Eclipse用svn管理Android项目问题
2012-08-11 15:10 906用svn控制版本,svn本身是不会识别哪些该传,哪些不该 ... -
ListView动态加载数据分页(使用Handler+线程和AsyncTask两种方法)
2012-08-11 14:58 1037在android开发中,经 ... -
关于eclipse中关联各版本Android.jar对应的源代码方法
2012-08-11 13:59 946网上看了很多关于在Android APP开发时,将And ... -
深度解析Handler类,以及HandlerThread
2012-08-11 13:43 1296Handler,HandlerThread下次再写;1)核心成 ... -
android在处理一写图片资源
2012-08-09 23:01 7821、Drawable → Bitmap publ ... -
Android用ImageView显示本地和网上的图片
2012-08-09 22:48 5371ImageView是Android程序中经常用到的组件, ... -
Android中LayoutInflater的使用
2012-08-09 18:42 932Inflater英文意思是膨胀,在Android中应该是 ... -
Android模拟器代理设置
2012-08-09 16:03 18029方法一 首先,Windows下,配置Adro ... -
android中ListView控件&&onItemClick点击事件
2012-08-09 15:46 1032转自:http://hi.baidu.com/ilybeen/ ... -
android 安卓APP获取手机设备信息和手机号码的代码示例
2012-08-06 14:26 1742下面我从安卓开发的角度,简单写一下如何获取手机设备信息和 ...
相关推荐
Android 获取设备信息,日常开发中要获取的信息
Android 单线程获取局域网在线设备,极速刷新arp文件并读取内容 从4分30s 优化到 0.150s
Android获取连接热点的设备信息ip、mac信息
主要介绍了Android获取实时连接热点的设备IP 的相关资料,文中给大家补充介绍了安卓获取接入的Wifi热点设备的Ip地址的代码,需要的朋友可以参考下
Android studio 2.1.2 Android 5.1.1 前言 上一篇介绍了如何获取ethernet的MAC地址,对于厂商来讲,除了MAC号,还有一项数据也很重要,那就是机器序列号,它是机器出厂时确定的,也是主要标识,每台机器都不一样。 要想...
【Android】获取设备的基本服务信息Demo 相关文章:http://blog.csdn.net/etzmico/article/details/7009571
Android_获取设备基本服务信息
包括CPU,内存,RAM,ROM,摄像头等等
运行的环境> 2.3.3 或者是android sdk 10
Android设备获取唯一标识码的方法,可以用
在开发的过程中有可能根据需要显示一些设备的状态或系统信息。下面是收集到的一些信息
android获取设备屏幕分辨率
Android 获取移动网络及SIM卡运营商信息,可获取到SIM卡国别、SIM卡序列号、SIM卡状态、运营商代号、手机制式等信息。获取各个数据项的值: listValues.add(tm.getDeviceId());//获取设备编号 listValues.add(tm...
在APP开发时,经常会遇到要获取手机状态信息的场景,像升级时获取版本号,像发生异常时要收集手机信息等等。有些软件还要根据Mac地址来判定当前用户以前是否登录过。下面将一一介绍获取这些手机状态信息的方法。 1 ...
该资源为安卓开发中获取硬件信息,App信息等做的一个Demo项目,具体描述请看本人博客《安卓获取手机设备硬件、系统、程序等信息》。
编码UTF-8;我们在ZOL上可以通过“参数”查看知名设备的信息,但如果客户寄给你一个他们自己定制的平板,通过“设置”也看不到你想要的信息, ...此Demo提供了获取设备的分辨率、屏幕尺寸和屏幕像素密度(PPL)的方式。
Android--史上最全、最完整,获取设备信息、获取手机唯一标识。 主要用于拿取用户手机信息做风控。
android 通过蓝牙获取设备ibeacon信息
Android 使用html5得到手机设备信息