出处:http://mp.weixin.qq.com/s?__biz=MzA4NjQxMjA5OA==&mid=401797794&idx=2&sn=a0a47cea6f60414a38c34bed25fbd3ad&scene=23&srci
1.拨打电话:
public static void call(Context context,String phoneNumber){
context.startActivity(new Intent(Intent.ACTION_CALL,Uri.parse("tel:"+phoneNumber)));
}
2.进入拨号界面
public static void callDial(Context context,String phoneNumber){
context.startActivity(new Intent(Intent.ACTION_DIAL,Uri.parse("tel:"+phoneNumber)));
}
3.发送短信
public static void sendSms(Context context,String phoneNumber, String content){ Uri uri=Uri.parse("smsto:" +(TextUtils.isEmpty(phoneNumber)?"":phoneNumber)); Intent intent=new Intent(Intent.ACTION_SENDTO,uri); intent.putExtra("sms_body",TextUtils.isEmpty(content)?"":content); context.startActivity(intent); }
4.唤醒屏幕并解锁
public static void wakeUpAndUnlock(Context context){ KeyguardManager km=(KeyguardManager)context.getSystemService(Context.KEYGUARD_SERVICE); KeyguardManager.KeyguardLock kl=km.newKeyguardLock("unLock"); //解锁 kl.disableKeyguard(); //获取电源管理器对象 PowerManager pm=(PowerManager)context.getSystemService(Context.POWER_SERVICE); //获取PowerManager.WakeLock对象,后面的参数|表示同时传入两个值,最后的是LogCat里用的Tag PowerManager.WakeLock wl=pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP|PowerManager.SCREEN_DIM_WAKE_LOCK,"bright"); //点亮屏幕 wl.acquire(); //释放 wl.release(); }
5.需要添加权限
<uses-permission android:name="android.permission.WAKE_LOCK"/> <uses-permission android:name="android.permission.DISABLE_KEYGUARD"/>
6.判断当前App处于前台还是后台状态
public static boolean isApplicationBackground(finalContext context){ ActivityManager am=(ActivityManager)context .getSystemService(Context.ACTIVITY_SERVICE); @SuppressWarnings("deprecation") List<ActivityManager.RunningTaskInfo>tasks=am.getRunningTasks(1); if(!tasks.isEmpty()){ ComponentName topActivity=tasks.get(0).topActivity; if(!topActivity.getPackageName().equals(context.getPackageName())){ return true; } } return false; }
7.需要添加权限
<uses-permission android:name="android.permission.GET_TASKS"/>
8.判断当前手机是否处于锁屏(睡眠)状态
public static boolean isSleeping(Context context){ KeyguardManager kgMgr=(KeyguardManager)context .getSystemService(Context.KEYGUARD_SERVICE); boolean isSleeping=kgMgr.inKeyguardRestrictedInputMode(); return isSleeping; }
9.判断当前是否有网络连接
public static boolean isOnline(Context context){ ConnectivityManager manager=(ConnectivityManager)context .getSystemService(Activity.CONNECTIVITY_SERVICE); NetworkInfo info=manager.getActiveNetworkInfo(); if(info!=null&&info.isConnected()){ return true; } return false; }
10.判断当前是否是WIFI连接状态
public static boolean isOnline(Context context){ ConnectivityManager manager=(ConnectivityManager)context .getSystemService(Activity.CONNECTIVITY_SERVICE); NetworkInfo info=manager.getActiveNetworkInfo(); if(info!=null&&info.isConnected()){ return true; } return false; }
11.安装APK
public static void installApk(Context context,File file){ Intent intent=newIntent(); intent.setAction("android.intent.action.VIEW"); intent.addCategory("android.intent.category.DEFAULT"); intent.setType("application/vnd.android.package-archive"); intent.setDataAndType(Uri.fromFile(file), "application/vnd.android.package-archive"); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(intent); }
12.判断当前设备是否为手机
public static boolean isPhone(Context context){ TelephonyManager telephony=(TelephonyManager)context .getSystemService(Context.TELEPHONY_SERVICE); if(telephony.getPhoneType()==TelephonyManager.PHONE_TYPE_NONE){ return false; }else{ return true; } }
13.获取当前设备宽高,单位px
@SuppressWarnings("deprecation") public static int getDeviceWidth(Context context){ WindowManager manager=(WindowManager)context .getSystemService(Context.WINDOW_SERVICE); return manager.getDefaultDisplay().getWidth(); } @SuppressWarnings("deprecation") public static int getDeviceHeight(Context context){ WindowManager manager=(WindowManager)context .getSystemService(Context.WINDOW_SERVICE); return manager.getDefaultDisplay().getHeight(); }
14.获取当前设备的IMEI,需要与上面的isPhone()一起使用
@TargetApi(Build.VERSION_CODES.CUPCAKE) public static String getDeviceIMEI(Context context){ String deviceId; if(isPhone(context)){ TelephonyManager telephony=(TelephonyManager)context .getSystemService(Context.TELEPHONY_SERVICE); deviceId=telephony.getDeviceId(); }else{ deviceId=Settings.Secure.getString(context.getContentResolver(), Settings.Secure.ANDROID_ID); } return deviceId; }
15.获取当前设备的MAC地址
public static String getMacAddress(Context context){ String macAddress; WifiManager wifi=(WifiManager)context .getSystemService(Context.WIFI_SERVICE); WifiInfo info=wifi.getConnectionInfo(); macAddress=info.getMacAddress(); if(null==macAddress){ return ""; } macAddress=macAddress.replace(":",""); return macAddress; }
16.获取当前程序的版本号
public static String getAppVersion(Context context) { String version = "0"; try { version = context.getPackageManager().getPackageInfo( context.getPackageName(), 0).versionName; } catch (PackageManager.NameNotFoundException e) { e.printStackTrace(); } return version; }