Android常用工具类(方法)大全
<span style="font-size:14px;">package com.example.thinkpad.recyclerviewdemo;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Build;
import android.telephony.TelephonyManager;
import android.text.TextUtils;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import java.io.File;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class Utils {
/**
* 获取手机及SIM卡相关信息
* @param context
* @return
*/
public static Map<String,String> getPhoneInfo(Context context){
Map<String,String> map = new HashMap<String,String>();
TelephonyManager tm = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
String imei = tm.getDeviceId();
String imsi = tm.getSubscriberId();
String phoneMode = Build.MODEL;
String phoneSDK = Build.VERSION.RELEASE;
map.put("imei",imei);
map.put("imsi",imsi);
map.put("phoneMode",phoneMode+"##"+phoneSDK);
map.put("model",phoneMode);
map.put("sdk",phoneSDK);
return map;
}
/**
* 根据手机的分辨率从dp的单位转成px(像素)
* @param context
* @param dpValue
* @return
*/
public static int dp2px(Context context,float dpValue){
final float scale = context.getResources().getDisplayMetrics().density;
return (int)(dpValue * scale + 0.5f);
}
/**
* 根据手机的分辨率px(像素)从的单位转成dp
* @param context
* @param pxValue
* @return
*/
public static int px2dp(Context context, float pxValue){
final float scale = context.getResources().getDisplayMetrics().density;
return (int)(pxValue/scale + 0.5f);
}
/**
* 安装 .apk文件
* @param context
* @param fileName
* 下面两句可以不要:
* intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
* intent.setAction(Intent.ACTION_VIEW);
*/
public void install(Context context,String fileName){
if (TextUtils.isEmpty(fileName) || context == null){
return;;
}
try {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setAction(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(new File(fileName)),
"application/vnd.android.package-archive");
context.startActivity(intent);
} catch (Exception e){
e.printStackTrace();
}
}
/**
* 检查某程序是否安装
* @param context
* @param packageName
* @return
*/
public static boolean isInstalledApp(Context context,String packageName){
boolean flag = false;
try {
PackageManager pm = context.getPackageManager();
List<PackageInfo> pkgs = pm.getInstalledPackages(PackageManager.GET_UNINSTALLED_PACKAGES);
for (PackageInfo pkg:pkgs){
if ((pkg.packageName).equals(packageName)){
return flag = true;
}
}
}catch (Exception e){
e.printStackTrace();
}
return flag;
}
/**
* 关闭系统的软键盘
* @param activity
*/
public static void dismissSoftKeyboard(Activity activity){
View view = activity.getWindow().peekDecorView();
if (view != null){
InputMethodManager inputmanager = (InputMethodManager)activity.getSystemService(Context.INPUT_METHOD_SERVICE);
inputmanager.hideSoftInputFromInputMethod(view.getWindowToken(),0);
}
}
</span>