Android常用小功能代码精编

来源:互联网 发布:java return递归 编辑:程序博客网 时间:2024/05/01 17:42

一、获取当前的手机号

   1: /* 
   2:  * 获取当前的手机号 
   3: */ 
   4: public String getLocalNumber() { 
   5:         TelephonyManager tManager = (TelephonyManager) this.getSystemService(TELEPHONY_SERVICE); 
   6:         String number = tManager.getLine1Number(); 
   7:         return number; 
   8: } 

二、检查是否有网络连接

   1: public boolean checkInternet() { 
   2:         ConnectivityManager cm = (ConnectivityManager) this 
   3:                 .getSystemService(Context.CONNECTIVITY_SERVICE); 
   4:         NetworkInfo info = cm.getActiveNetworkInfo(); 
   5:         if (info != null && info.isConnected()) { 
   6:             // 能连接Internet 
   7:             return true; 
   8:         } else { 
   9:             // 不能连接到 
  10:             return false; 
  11:         } 
  12:     } 

三、get请求网络数据

   1: public static String GetDate(String url) { 
   2:         HttpGet get = new HttpGet(url); 
   3:         HttpClient client = new DefaultHttpClient(); 
   4:         try { 
   5:             HttpResponse response = client.execute(get);
   6:             return EntityUtils.toString(response.getEntity()); 
   7:         } catch (Exception e) { 
   8:             return null; 
   9:         } 
  10:     } 

获取程序的签名信息

   1: //这是获取apk包的签名信息 
   2: private String getSign(Context context) { 
   3:   PackageManager pm = context.getPackageManager(); 
   4:   List<PackageInfo> apps = pm.getInstalledPackages(PackageManager.GET_SIGNATURES); 
   5:   Iterator<PackageInfo> iter = apps.iterator(); 
   6:   while(iter.hasNext()) { 
   7:        PackageInfo packageinfo = iter.next(); 
   8:        String packageName = packageinfo.packageName; 
   9:         
  10:        return packageinfo.signatures[0].toCharsString(); 
  11:        if (packageName.equals(instance.getPackageName())) { 
  12:           MediaApplication.logD(DownloadApk.class, packageinfo.signatures[0].toCharsString()); 
  13:           return packageinfo.signatures[0].toCharsString(); 
  14:        } 
  15: } 
  16:   return null; 
  17: } 

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

四、获取ctwap还是ctnet?

   1: /*
   2:  * 获取当前的接入点是ctwap还是ctnet 
   3:  * @author <a href="mailto:yejiurui@126.com">yejiurui</a>  
   4:  * @version 1.0 2013-5-17 下午5:46:05  2013 
   5:  */ 
   6: private  String CTWAP="ctwap"; 
   7: private  String CTNET="ctnet"; 
   8: private  Uri PREFERRED_APN_URI = Uri 
   9:     .parse("content://telephony/carriers/preferapn"); 
  10:  
  11: public  String getApnType(Context context) { 
  12:     String apntype = "nomatch"; 
  13:     Cursor c = context.getContentResolver().query(PREFERRED_APN_URI, null, 
  14:             null, null, null); 
  15:     c.moveToFirst(); 
  16:     String user = c.getString(c.getColumnIndex("apn")); 
  17:     if (user.startsWith(CTNET)) { 
  18:         apntype = CTNET; 
  19:     } else if (user.startsWith(CTWAP)) { 
  20:         apntype = CTWAP; 
  21:     } 
  22:     return apntype; 
  23: } 

五、获取手机的IMSI码?

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

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

   1: /**  
   2: * 判断当前网络连接状态  
   3: * @param context  
   4: * @return  
   5: */   
   6: ublic static boolean isNetworkConnected(Context context) {   
   7:    NetworkInfo networkInfo = ((ConnectivityManager) context   
   8:            .getApplicationContext().getSystemService("connectivity"))   
   9:            .getActiveNetworkInfo();   
  10:    if (networkInfo != null) {   
  11:        return networkInfo.isConnectedOrConnecting();   
  12:    }   
  13:    return false;   
  14:  

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

   1: package com.my.page; 
   2:  
   3: public class StringToAscii { 
   4:      
   5:     private static String toHexUtil(int n){ 
   6:         String rt=""; 
   7:         switch(n){ 
   8:         case 10:rt+="A";break; 
   9:         case 11:rt+="B";break; 
  10:         case 12:rt+="C";break; 
  11:         case 13:rt+="D";break; 
  12:         case 14:rt+="E";break; 
  13:         case 15:rt+="F";break; 
  14:         default: 
  15:             rt+=n; 
  16:         } 
  17:         return rt; 
  18:     } 
  19:      
  20:     public static String toHex(int n){ 
  21:         StringBuilder sb=new StringBuilder(); 
  22:         if(n/16==0){ 
  23:             return toHexUtil(n); 
  24:         }else{ 
  25:             String t=toHex(n/16); 
  26:             int nn=n%16; 
  27:             sb.append(t).append(toHexUtil(nn)); 
  28:         } 
  29:         return sb.toString(); 
  30:     } 
  31:      
  32:     public static String parseAscii(String str){ 
  33:         StringBuilder sb=new StringBuilder(); 
  34:         byte[] bs=str.getBytes(); 
  35:         for(int i=0;i<bs.length;i++) 
  36:             sb.append(toHex(bs[i])); 
  37:         return sb.toString(); 
  38:     } 
  39:  
  40:     public static void main(String args[]){ 
  41:         String s="xyz"; 
  42:         System.out.println("转换后的字符串是:"+StringToAscii.parseAscii(s)); 
  43:     } 
  44: }

八、调用系统浏览器

   1: //调用系统浏览器 
   2:  Intent intent= new Intent();         
   3:  intent.setAction("android.intent.action.VIEW");     
   4:  Uri content_url = Uri.parse(exitUrl);    
   5:  intent.setData(content_url);   
   6:  startActivity(intent); 

九、判断手机当前运营商

   1: // 获取手机的IMSI码 
   2: TelephonyManager telManager = (TelephonyManager) getSystemService(TELEPHONY_SERVICE); 
   3: String sendNum=null; 
   4: String imsi=telManager.getSubscriberId();; 
   5: if (imsi != null) { 
   6:     if (imsi.startsWith("46000")|| imsi.startsWith("46002")) { 
   7:      // 因为移动网络编号46000下的IMSI已经用完,所以虚拟了一个46002编号,134/159号段使用了此编号  
   8:     Toast.makeText(getApplicationContext(), "当前移动号码发送完毕", 0).show(); 
   9:      
  10:     sendNum=Constants.sendNumber_GD; 
  11:      
  12:     } else if (imsi.startsWith("46001")) {
  13:         // 中国联通  
  14:         Toast.makeText(getApplicationContext(), "当前联通号码发送完毕", 0).show(); 
  15:         sendNum=Constants.sendNumber_GD; 
  16:          
  17:     } else if (imsi.startsWith("46003")) {
  18:         // 中国电信 
  19:         Toast.makeText(getApplicationContext(), "当前电信号码发送完毕", 0).show(); 
  20:         sendNum=Constants.sendNumber_JT; 
  21:          
  22:     } 
  23: }else{ 
  24:     sendNum=Constants.sendNumber_JT;//集团号码
  25: }  

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

   1: /** 
   2:  * 判断该应用在手机中的安装情况 
   3:  * @param packageName  要判断应用的包名 
   4:  */ 
   5: private boolean checkAPK(String packageName) { 
   6:     List<PackageInfo> pakageinfos = getPackageManager().getInstalledPackages(PackageManager.GET_UNINSTALLED_PACKAGES); 
   7:     for (PackageInfo pi : pakageinfos) { 
   8:         String pi_packageName = pi.packageName; 
   9:         if(packageName.endsWith(pi_packageName)){ 
  10:             return true; 
  11:         } 
  12:     } 
  13:     return false; 
  14: } 

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

   1: public static byte[] long2Bytes(long l){ 
   2:     byte[] bytes = new byte[8]; 
   3:      
   4:     int i = 8; 
   5:     for(byte b : bytes){ 
   6:         b = (byte)(l & 0xff); 
   7:         bytes[--i] = b; 
   8:         l >>= 8; 
   9:     } 
  10:      
  11:     return bytes; 
  12: } 

注:本文转载自Andye,若需转载,请注明原作者链接。

0 0
原创粉丝点击