经历过一段岁月,转眼2013的半年都过去了,第二版整理好的小功能,答应大家发布的,直到今日,终于和大家相见了,第二版没有第一版多,大家也可以去参考第一版的内容,希望大家使用愉快!

目录:

1.获取当前的手机号

2.检查是否有网络连接

3.get请求网络数据

4.获取ctwap还是ctnet?

5.获取手机的IMSI码?

6.判断当前网络连接状态 ?

7.将字符串转化为ascii码

8.调用系统浏览器 9.判断手机当前运营商

10.判断应用在手机上的安装情况

11.将long型转化为byte数组

 

一、获取当前的手机号

/*
* 获取当前的手机号
*/
public String getLocalNumber() {
TelephonyManager tManager = (TelephonyManager) this
.getSystemService(TELEPHONY_SERVICE);
String number = tManager.getLine1Number();
; return number;
}
 

二、检查是否有网络连接

public boolean checkInternet() {
ConnectivityManager cm = (ConnectivityManager) this
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo info = cm.getActiveNetworkInfo();
if (info != null && info.isConnected()) {
// 能连接Internet
return true;
} else {
// 不能连接到
return false;
}
}
 

三、get请求网络数据

public static String GetDate(String url) {
HttpGet get = new HttpGet(url);
HttpClient client = new DefaultHttpClient();
try {
HttpResponse response = client.execute(get);//
return EntityUtils.toString(response.getEntity());
} catch (Exception e) {
return null;
}
}

获取程序的签名信息

这是获取apk包的签名信息
private String getSign(Context context) {
PackageManager pm = context.getPackageManager();
List<PackageInfo> apps = pm.getInstalledPackages(PackageManager.GET_SIGNATURES);
Iterator<PackageInfo> iter = apps.iterator();
while(iter.hasNext()) {
PackageInfo packageinfo = iter.next();
String packageName = packageinfo.packageName; return packageinfo.signatures[0].toCharsString();
if (packageName.equals(instance.getPackageName())) {
MediaApplication.logD(DownloadApk.class, packageinfo.signatures[0].toCharsString());
return packageinfo.signatures[0].toCharsString();
}
}
return null;
}

返回的签名信息结果为很长的一串数据

 

四、获取ctwap还是ctnet?

/**
* 获取当前的接入点是ctwap还是ctnet
* @author <a href="mailto:yejiurui@126.com">yejiurui</a>
* @version 1.0 2013-5-17 下午5:46:05 2013
*/
private String CTWAP="ctwap";
private String CTNET="ctnet";
private Uri PREFERRED_APN_URI = Uri
.parse("content://telephony/carriers/preferapn"); public String getApnType(Context context) {
String apntype = "nomatch";
Cursor c = context.getContentResolver().query(PREFERRED_APN_URI, null,
null, null, null);
c.moveToFirst();
String user = c.getString(c.getColumnIndex("apn"));
if (user.startsWith(CTNET)) {
apntype = CTNET;
} else if (user.startsWith(CTWAP)) {
apntype = CTWAP;
}
return apntype;
}
 

五、获取手机的IMSI码?

//获取手机的IMSI码
TelephonyManager telManager=(TelephonyManager) getSystemService(TELEPHONY_SERVICE);
System.out.println("-----"+telManager.getSubscriberId()); //2.-----460007423945575
System.out.println("-----"+telManager.getSimSerialNumber()); //1.-----89860089281174245575
System.out.println("-----"+telManager.getSimOperator());
System.out.println("-----"+telManager.getSimCountryIso());
System.out.println("-----"+telManager.getSimOperatorName());
System.out.println("-----"+telManager.getSimState());
 

六、判断当前网络连接状态 ?

/**
* 判断当前网络连接状态
* @param context
* @return
*/
public static boolean isNetworkConnected(Context context) {
NetworkInfo networkInfo = ((ConnectivityManager) context
.getApplicationContext().getSystemService("connectivity"))
.getActiveNetworkInfo();
if (networkInfo != null) {
return networkInfo.isConnectedOrConnecting();
}
return false;
}
 

七、将字符串转化为Ascii码?

package com.my.page;

public class StringToAscii {

    private static String toHexUtil(int n){
String rt="";
switch(n){
case 10:rt+="A";break;
case 11:rt+="B";break;
case 12:rt+="C";break;
case 13:rt+="D";break;
case 14:rt+="E";break;
case 15:rt+="F";break;
default:
rt+=n;
}
return rt;
} public static String toHex(int n){
StringBuilder sb=new StringBuilder();
if(n/16==0){
return toHexUtil(n);
}else{
String t=toHex(n/16);
int nn=n%16;
sb.append(t).append(toHexUtil(nn));
}
return sb.toString();
} public static String parseAscii(String str){
StringBuilder sb=new StringBuilder();
byte[] bs=str.getBytes();
for(int i=0;i<bs.length;i++)
sb.append(toHex(bs[i]));
return sb.toString();
} public static void main(String args[]){
String s="xyz";
System.out.println("转换后的字符串是:"+StringToAscii.parseAscii(s));
}
}
 

八、调用系统浏览器

//调用系统浏览器
Intent intent= new Intent();
intent.setAction("android.intent.action.VIEW");
Uri content_url = Uri.parse(exitUrl);
intent.setData(content_url);
startActivity(intent);
 

九、判断手机当前运营商

// 获取手机的IMSI码
TelephonyManager telManager = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
String sendNum=null;
String imsi=telManager.getSubscriberId();;
if (imsi != null) {
if (imsi.startsWith("46000")|| imsi.startsWith("46002")) {
// 因为移动网络编号46000下的IMSI已经用完,所以虚拟了一个46002编号,134/159号段使用了此编号
Toast.makeText(getApplicationContext(), "当前移动号码发送完毕", 0).show(); sendNum=Constants.sendNumber_GD; } else if (imsi.startsWith("46001")) {// 中国联通 Toast.makeText(getApplicationContext(), "当前联通号码发送完毕", 0).show();
sendNum=Constants.sendNumber_GD; } else if (imsi.startsWith("46003")) {// 中国电信
Toast.makeText(getApplicationContext(), "当前电信号码发送完毕", 0).show();
sendNum=Constants.sendNumber_JT; }
}else{
sendNum=Constants.sendNumber_JT;//集团号码
}
 

十.判断应用在手机上的安装情况

/**
* 判断该应用在手机中的安装情况
* @param packageName 要判断应用的包名
*/
private boolean checkAPK(String packageName) {
List<PackageInfo> pakageinfos = getPackageManager().getInstalledPackages(PackageManager.GET_UNINSTALLED_PACKAGES);
for (PackageInfo pi : pakageinfos) {
String pi_packageName = pi.packageName;
if(packageName.endsWith(pi_packageName)){
return true;
}
}
return false;
}
 

十一.将long型转化为byte数组

* @return  返回将输入参数转化为的字节数组
*/
public static byte[] long2Bytes(long l){
byte[] bytes = new byte[8]; int i = 8;
for(byte b : bytes){
b = (byte)(l & 0xff);
bytes[--i] = b;
l >>= 8;
} return bytes;
}

android 常用小功能(第二版)的更多相关文章

  1. iOS常用小功能

    CHENYILONG Blog 常用小功能 技术博客http://www.cnblogs.com/ChenYilong/ 新浪微博http://weibo.com/luohanchenyilong  ...

  2. iOS 网易彩票-6设置模块三(常用小功能)

    该篇文章中,用到很多iOS开发过程中常用的小功能,当前只是将这些功能集成到网易彩票的设置中.iOS-常用小功能介绍,请参考我的另一篇文章: iOS 常用小功能 总结:http://www.cnblog ...

  3. iOS 常用小功能 总结

    常用小功能 iOS中的很多小功能都是非常简单的,几行代码就搞定了,比如打电话.打开网址.发邮件.发短信等 打电话 方法一(不被采用): 拨号之前会弹框询问用户是否拨号,拨完后能自动回到原应用 NSUR ...

  4. 【Android】Android开发小功能,倒计时的实现。时间计时器倒计时功能。

    作者:程序员小冰,GitHub主页:https://github.com/QQ986945193 新浪微博:http://weibo.com/mcxiaobing 首先给大家看一下我们今天这个最终实现 ...

  5. Redis学习——常用小功能

    一.慢查询分析(查询日志:所谓慢查询日志就是系统在命令执行前后计算每条命令的执行时间,当超过预设阀值,就将这条命令的相关信息(例如:发生时间,耗时,命令的详细信息)记录下来,Redis也提供了类似的功 ...

  6. iOS 通信常用小功能

    打电话 a.最简单最直接的方式:直接跳到拨号界面 NSURL *url = [NSURL URLWithString:@"tel://10010"]; [[UIApplicatio ...

  7. JavaScript 常用小功能

    判断一个是否是隐藏状态 $(curid).is(":visible") 响应回车 $("#password").keydown(function (e) {  ...

  8. JS中部分不常用小功能记录

    1.serializeArray()在表单中使用,必须在form标签中,需要手机的元素要有name属性.源生JS将对象转成json   resulrMK = JSON.stringify(resulr ...

  9. Unity 动画系统 Animation和Animator 常用小功能

随机推荐

  1. GDB的Breakpoint, Watchpoint和Catchpoint

    Breakpoint : 设置断点比较直接,在某处停止 Watchpoint : 观察点,即某个变量/表达式发生变化时,停止.可扩展为变量被读/被写/被读or写时都停止 Catchpoint : 在发 ...

  2. Browser设置UA值

    SWE Browser中的OptionMenu是Controller通过onKeyDown监听KEYCODE_MENU来显示的 public boolean onKeyDown(int keyCode ...

  3. 递推 N循环问题

    Description   我们知道,在编程中,我们时常需要考虑到时间复杂度,特别是对于循环的部分.例如, 如果代码中出现 for(i=1;i<=n;i++) OP ; 那么做了n次OP运算,如 ...

  4. VA中用文件头注释和函数头注释Suggestions

    写C++代码,不能不用VA,这里贴两个我最常用的注释Suggestions. [1.File Header 文件头注释] /*** @file     $FILE_BASE$.$FILE_EXT$* ...

  5. hdu 4647 - Another Graph Game(思路题)

    摘自题解: 若没有边权,则对点权从大到小排序即可.. 考虑边,将边权拆成两半加到它所关联的两个点的点权中即可. ..因为当两个人分别选择不同的点时,这一权值将互相抵消. 代码如下: #include ...

  6. Git 放弃修改

    1.文件较少 git checkout -- 文件名 2.文件较多 (直接版本回退) git reset --hard HEAD 在Git中,用HEAD表示当前版本,也就是最新的提交,上一个版本就是H ...

  7. redis和ssdb读取性能对比

    最近关注了一下ssdb,它的特点是基于文件存储系统所以它支撑量大的数据而不因为内存的限制受取约束.从官网的测试报告来看其性能也非常出色和redis相当,因此可以使用它来代替redis来进行k-v数据业 ...

  8. Asp.Net Web API 2第十五课——Model Validation(模型验证)

    前言 阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看 http://www.cnblogs.com/aehyok/p/3446289.html 本文参考链接文章地址htt ...

  9. Spec 网上选课

    角色定义 管理员 管理员负责向系统中添加学生和教师的个人信息以及课程信息,实现对教师.学生和课程信息的修改.删除.查询操作,并对管理员个人密码进行修改. 学生 学生具有查看待选课程信息和任课教师信息. ...

  10. 学习WPF——初识依赖项属性

    入门 首先创建一个依赖项属性 然后绑定父容器的DataContext到这个依赖项的实例 接着绑定子元素的属性到依赖项属性(注意Button的Content属性) 程序最终的运行结果:   说明 首先是 ...