获取应用信息

获取应用名
/** * 根据应用包名获取应用名 * @param context * @param appPackageName * @return 返回应用名,不存在返回null */public static String getAppName(Context context,String appPackageName){PackageManager pm = context.getPackageManager();String appName=null;try {appName = pm.getApplicationInfo(appPackageName, 0).loadLabel(pm).toString();return appName;} catch (NameNotFoundException e) {//不存在return appName;//返回null}}



获取版本号
/** * 根据包名获取版本号 * @param appName * @return * @throws NameNotFoundException  */private String getVersionName(String packageName) throws NameNotFoundException {// TODO Auto-generated method stubPackageManager pm=getPackageManager();int flags=0;PackageInfo  packageInfo =pm.getPackageInfo(packageName, flags);String versionName=packageInfo.versionName;//版本名int versioncode=packageInfo.versionCode;//版本号return versionName;}

获取应用权限
/** * 根据包名获取应用所有权限 * @param context * @param packageName * @return 返回权限字符串数组 * @throws NameNotFoundException */public static String[] getAppPermissions(Context context, String packageName) throws NameNotFoundException {return context.getPackageManager().getPackageInfo(packageName,PackageManager.GET_PERMISSIONS).requestedPermissions;}

返回桌面

/*** 返回到桌面* * @param context* @return*/public static void returnDesktop(Context context) { //Intent intent = new Intent(Intent.ACTION_MAIN);intent.addCategory(Intent.CATEGORY_HOME);intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);context.startActivity(intent);}

判断网络是否可用,以及是3G还是wifi

/** * 判断网络是否可用 *  * @param context * @return true可用,false不可用 */public static boolean checkTheNetworkConnection(Context context) { //ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();if (networkInfo != null && networkInfo.isConnected()) {return true;} else {return false;}}

/** * 判断手机当前上网用的是sim卡还是wifi <!-- 获取网络信息状态,如当前的网络连接是否有效 --> <uses-permission * android:name="android.permission.ACCESS_NETWORK_STATE"/> *  * @param context *            上下文 * @return 返回true是网络类型是wifi网络,返回false网络类型是sim卡网络 */public static boolean checkSIMorWifi(Context context) {ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);NetworkInfo[] networkInfos = connectivityManager.getAllNetworkInfo();boolean isWifiConnect = false;for (int i = 0; i < networkInfos.length; i++) {if (networkInfos[i].getState() == NetworkInfo.State.CONNECTED) {isWifiConnect = false;}if (networkInfos[i].getType() == connectivityManager.TYPE_WIFI) {isWifiConnect = true;}}return isWifiConnect;}


卸载程序

/* 调用系统的卸载程序卸载apk */    public void uninstallApk(String packageName) {        Uri uri = Uri.parse("package:" + packageName);        Intent intent = new Intent(Intent.ACTION_DELETE, uri);        int requestCode=0x11;//卸载标记startActivityForResult(intent, requestCode);    }

结束组件

/* * 退出应用总结: finish():结束当前Activity,不会立即释放内存。遵循android内存管理机制。 * exit():结束当前组件如Activity,并立即释放当前Activity所占资源。 * killProcess():结束当前组件如Activity,并立即释放当前Activity所占资源。 * restartPackage():结束整个App,包括service等其它Activity组件。 */
/** * killProcess():结束当前组件如Activity,并立即释放当前Activity所占资源。(可用) */public static void killProcess() {android.os.Process.killProcess(android.os.Process.myPid());}



更多相关文章

  1. Nginx系列教程(六)| 手把手教你搭建 LNMP 架构并部署天空网络电影
  2. Android组件Activity中的View绘画和动画(Animation)是否会重画?
  3. Android(安卓)HorizontalScrollView和ScrollView 水平滚动 垂直
  4. 使用otta bus进行android组件通信
  5. 网络请求框架之Retrofit2.0基本讲解
  6. layout_marginBottom的使用(将VIEW放置在布局底部)
  7. android轮播图封装 (网络图片glide解析,手势触摸,三种viewpager
  8. 高焕堂讲解之 Intent-based Programming
  9. Android中组件的动画效果之平移动画

随机推荐

  1. Android切近实战(二)
  2. 关于 apk文件反编译的方法(dex2jar和JD-G
  3. android手机安全问题汇总(非技术)
  4. 自动裁剪Android(安卓)ICON并保存到对应
  5. Android禁止ViewPager的左右滑动
  6. java/android 设计模式学习笔记(12)---组合
  7. Android(安卓)Training - 代码性能优化小
  8. App跨平台开发方案与抉择
  9. 使用android studio 版本合并遇到的问题
  10. Google送Nexus One手机啦,大家快去收邮件