- 浏览: 215222 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
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 2475public class AndroidTest extend ... -
Android下PopupWindow隐藏及显示(showAtLocation/showAsDropDown)
2012-08-26 00:56 13070上一篇对PopupWindow的用法(位置、动画、焦点)做了详 ... -
Android中PopupWindow的用法(位置、动画、焦点)
2012-08-26 00:54 2024在Android中有很多级别的Window,不同级别的Wind ... -
Color android
2012-08-24 15:07 1176有以下12种常见的颜色: Color.BLACK ... -
【Android布局】在程序中设置android:gravity 和 android:layout_Gravity属性
2012-08-16 15:03 984在进行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 2011转自:http://www.open-ope ... -
Android 实现省份城市的选择,并获取城市编号
2012-08-14 00:47 18752该程序主要使用 中央气象局 省份 城市数据库为基础 进行 ... -
让你全面了解SQLite
2012-08-14 00:45 1364一.SQLite的介绍1.SQLite简介SQLite是 ... -
android 模拟器手机如何添加文件到sd卡
2012-08-14 00:05 1357使用android手机模拟器 ... -
Eclipse用svn管理Android项目问题
2012-08-11 15:10 947用svn控制版本,svn本身是不会识别哪些该传,哪些不该 ... -
ListView动态加载数据分页(使用Handler+线程和AsyncTask两种方法)
2012-08-11 14:58 1070在android开发中,经 ... -
关于eclipse中关联各版本Android.jar对应的源代码方法
2012-08-11 13:59 999网上看了很多关于在Android APP开发时,将And ... -
深度解析Handler类,以及HandlerThread
2012-08-11 13:43 1333Handler,HandlerThread下次再写;1)核心成 ... -
android在处理一写图片资源
2012-08-09 23:01 8241、Drawable → Bitmap publ ... -
Android用ImageView显示本地和网上的图片
2012-08-09 22:48 5429ImageView是Android程序中经常用到的组件, ... -
Android中LayoutInflater的使用
2012-08-09 18:42 969Inflater英文意思是膨胀,在Android中应该是 ... -
Android模拟器代理设置
2012-08-09 16:03 18104方法一 首先,Windows下,配置Adro ... -
android中ListView控件&&onItemClick点击事件
2012-08-09 15:46 1078转自:http://hi.baidu.com/ilybeen/ ... -
android 安卓APP获取手机设备信息和手机号码的代码示例
2012-08-06 14:26 1868下面我从安卓开发的角度,简单写一下如何获取手机设备信息和 ...
相关推荐
首先,Android提供了`Build`类,它是位于`android.os`包中的一个静态类,用于获取设备的各种构建信息。`SetBuild`可能是指设置或获取构建信息的过程。让我们逐一了解`Build`类中的一些重要字段和方法: 1. **设备...
在Android系统中,获取设备的硬件信息是开发者和普通用户都可能需要的操作。这涉及到对设备的CPU(中央处理器)、内存(RAM)、ROM(只读存储器)以及摄像头等核心硬件组件的理解。以下是对这些硬件信息的详细说明:...
通常,我们使用ARP(Address Resolution Protocol)协议来获取设备的物理地址(MAC地址)对应于其IP地址。在Android中,我们可以使用`Socket`或`MulticastSocket`来发送ICMP请求,探测网络中其他设备的存在。然而,...
"Android获取实时连接热点的设备IP" Android获取实时连接热点的设备IP是指在Android系统中获取当前热点连接的设备IP地址的相关技术。主要涉及到Android系统中获取Wifi热点设备的Ip地址的代码实现。 知识点一:/...
在Android应用开发中,获取设备信息是常见的需求,这包括硬件特性、系统版本以及设备状态等。以下是一些关于如何获取这些信息的关键知识点。 1. **Android设备ID**: Android设备具有唯一的设备标识符,如IMEI...
在Android开发中,获取设备信息和手机唯一标识是常见的需求,尤其在进行用户风险控制时。这篇文章将深入探讨如何在Android系统中获取这些关键数据。 首先,了解Android设备信息包括但不限于以下几点: 1. **设备...
在Android开发中,获取设备的基本服务信息是相当重要的,它能帮助开发者了解设备的状态,以便更好地适配和优化应用。本文将深入探讨如何在Android平台上获取这些信息,并提供一个简单的Demo示例,参考链接为...
Android获取连接热点的设备信息ip、mac信息
以下是对Android获取设备基本服务信息的详细讲解。 1. **设备状态获取** Android提供`Build`类来获取设备的基本信息,如设备型号、制造商、版本号等。例如,`Build.MODEL`返回设备模型,`Build.MANUFACTURER`返回...
Android studio 2.1.2 Android 5.1.1 前言 上一篇介绍了如何获取ethernet的MAC地址,对于厂商来讲,除了MAC号,还有一项数据也很重要,那就是机器序列号,它是机器出厂时确定的,也是主要标识,每台机器都不一样。 要想...
`Build.MANUFACTURER`则可以单独获取设备制造商,如"Samsung"。 4. 其他硬件信息: 除了CPU和内存,还可以获取其他硬件信息,如电池状态、GPU型号等。电池状态通过`BatteryManager`类,GPU信息则可能需要使用第三...
在Android系统中,开发者经常需要获取设备的唯一标识码来实现一些特定的功能,例如用户跟踪、数据同步或者设备注册等。然而,随着Android系统的更新,为了保护用户隐私,获取设备唯一标识的方式也在不断变化。本篇...
在Android平台上,获取CPU、内存和磁盘使用率信息对于开发者来说是十分重要的,这有助于监控设备性能,优化应用运行,以及提供用户友好的反馈。然而,由于Android系统的安全机制,不同的权限级别决定了你能获取到何...
在Android开发中,获取设备信息是一项基础且重要的任务,它涉及到设备硬件、操作系统以及应用程序的适配和优化。本文将详细讲解如何通过编程的方式获取Android设备的各种信息。 首先,我们来了解一下Android设备的...
调用`getDeviceList()`方法获取所有已连接的设备,然后遍历`UsbDevice`对象以获取设备信息,如`getDeviceName()`、`getVendorId()`、`getProductId()`等。 6. **USB权限管理**:Android 3.1及以上版本引入了USB访问...
"JavaApk源码说明.txt"可能包含了关于如何在Android项目中集成HTML5代码和PhoneGap库的指导,而"phoneGap2ShowDevice2"可能是PhoneGap的一个示例项目,展示如何使用`device`插件来获取设备信息。`device`插件提供了`...
在Android平台上,获取已安装应用的信息是开发过程中常见的需求,这可以帮助我们构建各种功能,比如应用管理、推荐系统或是分析用户行为。本文将详细讲解如何通过编程方式获取Android设备上已安装应用的包名、应用...
在APP开发时,经常会遇到要获取手机状态信息的场景,像升级时获取版本号,像发生异常时要收集手机信息等等。有些软件还要根据Mac地址来判定当前用户以前是否登录过。下面将一一介绍获取这些手机状态信息的方法。 1 ...
总之,这个源码示例提供了Android与HTML5结合的一个实例,帮助开发者了解如何在Android应用中利用HTML5 API获取设备信息,并通过JavaScript接口与Android原生代码交互。通过学习和实践,开发者可以掌握混合开发技巧...