进程android开发工具类

android开发工具  时间:2021-02-28  阅读:()

Android开发工具类public static String getDataTime(String format) {

SimpleDateFormat df=new SimpleDateFormat(format);return df.format(new Date());

*返回当前系统时间(格式以HH:mm形式)public static String getDataTime() {return getDataT ime(HH:mm

*获取手机I MEI码public static String getPhoneIMEI(Context cxt) {

TelephonyManager tm = (TelephonyManag er)cxt.getSystemServic e(Context.TELEP HONY_SERVICE);return tm.getDevic eI d();

*获取手机系统SDK版本

*@return如API 17则返回17public static int getSDKVersion() {return android.os.Build.VERS ION.SDK_INT;

*获取系统版本

*@r eturn形如2.3.3public static String getSystemVersion() {return android.os.Build.VERSION.RELEAS E;

*调用系统发送短信public static void sendSMS(Context cxt,String smsBody) {

Uri smsToUri=Uri.parse( smsto:

Intent intent=new Intent(Intent.ACTION_SENDTO, sms ToUri);intent.putExtra( s ms_body, s ms Body);c xt.s tartAc tivity(intent);

*判断网络是否连接public static boolean checkNet(Context context) {

ConnectivityManager cm = (ConnectivityManager)c ontext.getSystemS ervic e(Context.CONNECTIVITY_SERVI CE);

Netw orkInfo info=c m.getActiveNetw orkInfo();return info!=null;//网络是否连接

*判断是否为wifi联网public static boolean isWiFi(Context cxt) {

ConnectivityManager cm = (ConnectivityManager)c xt.getSystemS ervic e(Context.CONNECTIVIT Y_SERVIC E);

//wifi的状态 ConnectivityManager.TYP E_WIFI

//3G的状态 ConnectivityMan ager.TYPE_MO BILE

State state=cm.getNetworkInfo(ConnectivityManager.TYP E_WIFI).getState();return State.CONNECTED==state;

*隐藏系统键盘br

*b警告/b必须是确定键盘显示时才能调用public static void hideKeyBoard(Activity aty) {

((I nputMetho dManag er)aty.getSystemS ervic e(Context.INPUT_MET HOD_SERVIC E)).hideS oftInputFromWindow(aty.getCurrentF oc us().getWindow Token(), I nputMethodManager.HI DE_NOT_ALWAYS);

*判断当前应用程序是否后台运行

public static boolean isBackground(Context context) {

ActivityManager activityManager = (ActivityManager)c ontext.getSystemServic e(Context.ACTIVITY_SERVICE);

List ActivityManager.RunningAppProcessInfo appProcesses =ac tivityM anager.getRunn ing AppProc es s es();for(ActivityManager.RunningAppProcessInfo appProcess :appProcesses) {if(appProc ess.proc es sName.equals(c ontext.getPackageName())) {if (appProcess.importance ==Activ ityManager.RunningAppProc es sInfo.IMPORTANCE_BACKGRO UND) {

//后台运行return true;

} els e {

//前台运行r eturn fals e;r eturn fals e;

*判断手机是否处理睡眠public static boolean isSleeping(Context context) {

KeyguardManag er kgMgr = (KeyguardManag er)c ontext.getSystemS ervic e(Context.KEYGUARD_S ERVICE);boolean is S le ep ing=kgMgr.inKeyguardRestric tedInputMode();return is S leep ing;

*安装apk

*@param context

*@param file

public static void installApk(Context context,File file) {

Intent intent=new Intent();intent.s etAc tion(android.intent.ac tion.VIEWintent.addCategory(android.intent.c ategory.DEFAULTintent.s etType(applic at ion/vnd.android.pac kage-archiveintent.s etData(Uri.fromFile(file));intent.s etDataAndType(Uri.fromFile(file),applic ation/vnd.android.package-archiveintent.s etFlags(Intent.FLAG_ACTIVITY_NEW_TAS K);c ontext.startAc tivity(intent);

*获取当前应用程序的版本号public static String getApp Version(C ontext c ontext) {

String version=0try{vers ion = c ontext.getPac kageManager().getPac kageInfo(c ontext.getPac kageName(),

0).versionName;

} c atch(PackageManager.NameNotFoundExc eption e) {throw new KJException(SystemTool.class.getName()+the application not foundreturn vers ion;

*回到home后台运行public static void goHome(Context context) {

Intent mHomeIntent=new Intent(Intent.ACTION_MAIN);mHomeIntent.addCategory(Intent.CATEGO RY_HO ME);mHomeIntent.addFlags(Intent.FLAG_ACTIVIT Y_NEW_TAS K |

Intent.FLAG_ACTI VITY_RESET_TAS K_IF_NEED ED);c ontext.startAc tivity(m HomeIntent);

*获取应用签名

*@param context

*@param pkgNamepublic static String getSign(Context c ontext,String pkgName) {try{

PackageInfo pis = context.getPackageManager().getPackageInfo(pkgName,P ac kageManager.GET_S I GN ATURES);return hexdiges t(pis.s ignatures[0].toByte Array());

} c atch(NameNotFoundExc eption e) {throw new KJException(SystemTool.class.getName()+the+pkgName+ ‘s application notfo un d

*将签名字符串转换成需要的32位签名private static String hexdigest(byte[]paramArrayOfByte) {final char[]hexDigits={48,49,50,51,52,53,54,55,56,57,97,98,99, 100, 101, 102};try{

MessageDigest localMessageDigest=MessageDigest.getInstance(MD5loc alMes sageD igest.update(paramArrayOfByte);byte[]arrayOfByte=loc alMes s ageDig est.digest();char[]arrayOfChar=new char[32];for(int i=0, j=0;; i++, j++) {if(i=16) {return new String(arrayOfChar); }

int k=arrayOfByte[i];arrayOfChar[j]=hexDigits[(0xF k 4)];arrayOfChar[++j]=hexDigits[(k 0xF)];

} catch(Exc eption e) {}r eturn

*获取设备的可用内存大小

*@param cxt

*应用上下文对象c ontext

*@r eturn当前内存大小public static int getDevic eUsab leMemory(Context cxt) {

ActivityManager am = (ActivityManager)cxt.getSystemServic e(Context.ACTIVIT Y_SERVICE);

MemoryInfo mi=new MemoryInfo();am.getMemoryInfo(mi);

//返回当前系统的可用内存r eturn(int) (mi.availMem/ (1024* 1024));

*清理后台进程与服务

*@param cxt

*应用上下文对象c ontext

*@r eturn被清理的数量public static int gc(Context cxt) {long i=getDevic eUsab leMemory(cxt);int c ount=0;//清理掉的进程数

ActivityManager am = (ActivityManager)cxt.getSystemServic e(Context.ACTIVIT Y_SERVICE);

//获取正在运行的s ervic e列表

List RunningS erv ic eInfo s ervic eList=am.getRunningS ervic es(100);if(s ervic eList !=null)for (RunningS ervic eInfo s ervic e : s ervic eList) {if(s ervic e.pid==android.os.Proc ess.myPid())c ontinue;try{android.os.Process.killProcess(service.pid);c ount++;

} catch(Exc eption e) {e.getStackTrace();c ontinue;

//获取正在运行的进程列表

List RunningAppProcessInfo processList=am.getRunningAppProcesses();if(proc essList !=null)for (RunningAppProc es sInfo proc ess :proc essList) {

//一般数值大于RunningAppProc es sInfo.IMPORTANCE_SERVICE的进程都长时间没用或者空进程了

//一般数值大于RunningAppProcessInfo.IMPORTANCE_VISI BLE的进程都是非可见进程也就是在后台运行着if(process.importance RunningAppProcessInfo.IMPORTANCE_VISI BLE) {

//pkgLis t得到该进程下运行的包名

String[]pkgList=proc es s.pkgList;for(String pkgName :pkgList) {

try{am.killBac kgroundProc es s es(pkgName);c ount++;

} catch(Exc eption e) { //防止意外发生e.getStackTrace();c ontinue;

//清理了+(getDevic eUs ab leM emory(c xt) - i)+M内存return c ount;

}

Hostodo美国独立日优惠套餐年付13.99美元起,拉斯维加斯/迈阿密机房

Hostodo又发布了几款针对7月4日美国独立日的优惠套餐(Independence Day Super Sale),均为年付,基于KVM架构,采用NVMe硬盘,最低13.99美元起,可选拉斯维加斯或者迈阿密机房。这是一家成立于2014年的国外VPS主机商,主打低价VPS套餐且年付为主,基于OpenVZ和KVM架构,产品性能一般,支持使用PayPal或者支付宝等付款方式。商家客服响应也比较一般,推...

火数云 55元/月BGP限时三折,独立服务器及站群限时8折,新乡、安徽、香港、美国

火数云怎么样?火数云主要提供数据中心基础服务、互联网业务解决方案,及专属服务器租用、云服务器、专属服务器托管、带宽租用等产品和服务。火数云提供洛阳、新乡、安徽、香港、美国等地骨干级机房优质资源,包括BGP国际多线网络,CN2点对点直连带宽以及国际顶尖品牌硬件。专注为个人开发者用户,中小型,大型企业用户提供一站式核心网络云端服务部署,促使用户云端部署化简为零,轻松快捷运用云计算!多年云计算领域服务经...

DMIT(季度$28.88)调整洛杉矶CN2 GIA优化端口

对于DMIT商家已经关注有一些时候,看到不少的隔壁朋友们都有分享到,但是这篇还是我第一次分享这个服务商。根据看介绍,DMIT是一家成立于2017年的美国商家,据说是由几位留美学生创立的,数据中心位于香港、伯力G-Core和洛杉矶,主打香港CN2直连云服务器、美国CN2直连云服务器产品。最近看到DMIT商家有对洛杉矶CN2 GIA VPS端口进行了升级,不过价格没有变化,依然是季付28.88美元起。...

android开发工具为你推荐
google竞价排名谷歌SEO与谷歌竞价的区别和联系ps抠图技巧photoshop抠图技巧怎么点亮qq空间图标QQ空间图标怎么点亮?人人逛街人人逛街评论怎么不显示链接了?好像4月28日就不能显示了。是什么原因呢?人人逛街包公免费逛街打一成语商标注册查询官网商标注册网的官网是哪个?srv记录SRV记录的简介系统分析员一个优秀的系统分析师应该具备哪些方面的知识和素质?rewritebase为什么我写.htaccess这个 rewriterule 进入死循环了,高手帮忙修改声母是什么什么是声母,什么是音母?
二级域名查询 动态ip的vps a2hosting 香港vps99idc awardspace 免费名片模板 轻博 qq数据库 国外网站代理服务器 徐正曦 泉州移动 什么是服务器托管 卡巴斯基是免费的吗 如何建立邮箱 空间首页登陆 空间购买 1元域名 永久免费空间 supercache 服务器硬件配置 更多