PackageUtils
来源:互联网 发布:软件锁哪个好 编辑:程序博客网 时间:2024/06/06 07:15
package com.example.liuan.mytoolsquickbottom.utils;import android.content.ComponentName;import android.content.Context;import android.content.Intent;import android.content.pm.ActivityInfo;import android.content.pm.ApplicationInfo;import android.content.pm.PackageInfo;import android.content.pm.PackageManager;import android.content.pm.PackageManager.NameNotFoundException;import android.graphics.drawable.Drawable;import android.util.Log;import android.widget.Toast;import com.example.liuan.mytoolsquickbottom.R;import static com.example.liuan.mytoolsquickbottom.common.MyApp.appContext;/** * Created by liuan on 2017/7/30. */public class PackageUtils { static PackageManager pm; public PackageUtils(Context appContext) { pm = appContext.getPackageManager(); } public static int getVerCode(Context appContext) { int verCode = -1; try { verCode = appContext.getPackageManager().getPackageInfo( appContext.getPackageName(), 0).versionCode; } catch (PackageManager.NameNotFoundException e) { Log.e("msg", e.getMessage()); } return verCode; } public static String getVerName(Context appContext) { String verName = ""; try { verName = appContext.getPackageManager().getPackageInfo( appContext.getPackageName(), 0).versionName; } catch (PackageManager.NameNotFoundException e) { Log.e("msg", e.getMessage()); } return verName; } /* * 获取程序 图标 */ public static Drawable getAppIcon(String packname) { try { ApplicationInfo info = pm.getApplicationInfo(packname, 0); return info.loadIcon(pm); } catch (NameNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } return appContext.getResources().getDrawable(R.mipmap.weimei); } /* *获取程序的版本号 */ public String getAppVersion(String packname) { try { PackageInfo packinfo = pm.getPackageInfo(packname, 0); return packinfo.versionName; } catch (NameNotFoundException e) { e.printStackTrace(); } return ""; } /* * 获取程序的名字 */ public String getAppName(String packname) { try { ApplicationInfo info = pm.getApplicationInfo(packname, 0); return info.loadLabel(pm).toString(); } catch (NameNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } return ""; } /* * 获取程序的权限 */ public String[] getAppPremission(String packname) { try { PackageInfo packinfo = pm.getPackageInfo(packname, PackageManager.GET_PERMISSIONS); //获取到所有的权限 return packinfo.requestedPermissions; } catch (NameNotFoundException e) { e.printStackTrace(); } return null; } /* * 获取程序的签名 */ public String getAppSignature(String packname) { try { PackageInfo packinfo = pm.getPackageInfo(packname, PackageManager.GET_SIGNATURES); //获取到所有的权限 return packinfo.signatures[0].toCharsString(); } catch (NameNotFoundException e) { e.printStackTrace(); } return ""; } private void startApp(String packName) throws Exception { final String activityName = getActivityName(packName); if (null == activityName) { Toast.makeText(appContext, "程序无法启动", Toast.LENGTH_SHORT); return; } Intent intent = new Intent(); intent.setComponent(new ComponentName(packName, activityName)); appContext.startActivity(intent); }/** * 获取启动相关程序的Activity * * @param packName * @return * @throws Exception */public String getActivityName(String packName) throws Exception {final PackageInfo packInfo = pm.getPackageInfo(packName, PackageManager.GET_ACTIVITIES);final ActivityInfo[] activitys = packInfo.activities; if (null == activitys || activitys.length <= 0) { return null; } return activitys[0].name; }}
阅读全文
0 0
- PackageUtils
- PackageUtils
- Android快速开发之PackageUtils,PreferencesUtils
- 静默安装和卸载 PackageUtils 工具类分享
- 数据仓库中的三种数据库模式
- Cocos2d-x开发-第一个Cocos程序
- 适用于小型项目的 Android MVP 架构
- 数据库——MySQL如何查看table(表)占用空间的大小
- skynet任务调度分析
- PackageUtils
- LXR_CHNGroup自定义分组与系统通讯录分组
- leetcode_SortList
- Unity手游制作记-制作通用输入管理器
- 错误解决: java.lang.SecurityException: Permission Denial
- 打开第三方应用
- ASP.net常用代码(持续更新)
- JAVA企业面试题精选 数据库11-20
- Unity手游制作记-通用输入管理器-测试案例