经历过一段岁月,转眼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()) {// 能连接Internetreturn 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.-----460007423945575System.out.println("-----"+telManager.getSimSerialNumber()); //1.-----89860089281174245575System.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;}

转载于:https://www.cnblogs.com/yejiurui/p/3200376.html

android 常用小功能(第二版)相关推荐

  1. 《Android移动应用基础教程》(Android Studio)(第二版)黑马程序员 课后习题答案

    <Android移动应用基础教程>(Android Studio)(第二版)黑马程序员 课后习题答案 目录 第1章 Android基础入门 第2章 Android常见界面布局 第3章 An ...

  2. 《Android移动应用基础教程》(Android Studio)(第二版)黑马教程 课后题答案 第7章

    <Android移动应用基础教程>(Android Studio)(第二版)黑马教程 课后题答案 第7章 一.判断题 1.对 2.对 3.对 4.错 5.对 二.选择题 1.C 2.B 3 ...

  3. 《Android移动应用基础教程》(Android Studio)(第二版)黑马教程 课后题答案第一章

    <Android移动应用基础教程>(Android Studio)(第二版)黑马教程 课后题答案 第一章 一.填空题 1.dex 2.@color 3.AndroidManifest.xm ...

  4. Android 常用开发功能 博客导航

    转载地址:http://blog.csdn.net/ciqing123/article/details/52931663?locationNum=16&fps=1 简介:第一次在CSDN上发表 ...

  5. five 安卓应用|five 1.0.1 for android,Five小视频安卓版

    Five小视频安卓版是一个1分钟视频创作社区,是一款非常不错的小视频应用软件,用户可以将自己身边精彩的瞬间拍成小视频发布到平台上,还能结交更多有趣的朋友,操作简单,带你玩转小视频.欢迎用户使用西西下载 ...

  6. Android第一行代码第二版简要总结

    进入安卓的第一本书(简要概括) 第一章 了解大体Android 1.Android系统架构 Linux内核层:为Android设备的各种硬件提供了底层的驱动. 系统运行库层:通过c/c++库来提供主要 ...

  7. 从零开始Android游戏编程(第二版) 第一章 搭建开发环境

    第一章 搭建开发环境 难度:容易 工欲善其技,必先利其器.我们要做的第一件事就是搭建Android开发环境.本文只介绍Windows下的安装方法,Linux下的安装方法请参考官方网站的介绍. 与PC编 ...

  8. 从零开始Android游戏编程(第二版) 第二章 创建第一个程序Hello Tank

    第二章 创建第一个程序Hello Tank 难度:容易 现在开始,我们要真正写作Android程序了.虽然前面安装过程那么复杂,但是写起程序来却是非常简单.而且为了让大家有一个直观的认识,本文不会叙述 ...

  9. 不要放过那个装X的阿里,android游戏开发大全第二版PDF

    这都不是被导师剥削的问题,这个是自然规律在逼着你. 你和水稻谈休假问题,水稻不会停下来等你. 张启发院士带的博士生,甚至是院士本人,绝大部分时间,就是一年四季跟着水稻转. 有认识张启发院士的学生说,张 ...

最新文章

  1. SQL Server(五)——常用函数
  2. 好友国自然基金获批!畅饮之余透露给我这个秘密
  3. python文件信息排序_python文件排序的方法总结
  4. (伪)datagridview里面id的自增长
  5. 数据库编程入门培训(二)
  6. 火车站购票系统c语言编程,用c语言编写火车购票系统怎么编写,在线等,急!!!...
  7. [html] 如何给table中的某一列设置固定宽度
  8. unityscrollview生成大量_superscrollviewforUGUI的一些使用心得
  9. python文件地址拼接
  10. 第六:Pytest中的setup/teardown
  11. Python Tricks(十六)—— list转换为str
  12. opencv源码下载编译
  13. python计算等额本金_等额本金还款计算公式
  14. mixpanel umeng talkingdata
  15. Pycharm 编辑器文本中间出现有一条分割线
  16. 2023年全国最新会计专业技术资格精选真题及答案18
  17. 让ImageView尺寸适应图片比例和屏幕
  18. PS 滤镜——(扭曲)球面化 Spherize
  19. 【matplotlib】21.多图合并【python3、numpy、pandas、matplotlib完结】
  20. web测试与APP测试方法总结

热门文章

  1. C#温故而知新学习系列之.NET框架高级特性—概述.NET框架中的反射(一)
  2. 国际域名转出ICANN投诉
  3. vivado----fpga硬件调试 (二)----mark_debug
  4. ADC动态范围的计算
  5. android系统tee接口,Android操作系统上的TEE / HSM支持
  6. c语言220程序,《C语言程序实例大全》原代码220例
  7. 2010年10月VB100测试成绩
  8. ENAS pygraphviz 的替换之路
  9. python-pptx
  10. 浅谈Java语言中ArrayList和HashSet的区别