启动apk的常用方法
来源:互联网 发布:淘宝买韩国专辑靠谱吗 编辑:程序博客网 时间:2024/06/07 00:20
方法一:最直接的就是知道apk的包名和启动类名, 直接启动
1
Intent mIntent =
new
Intent( );
2
ComponentName comp =
new
ComponentName(
"包名"
,
"类名"
);
3
mIntent.setComponent(comp);
4
mIntent.setAction(
"android.intent.action.VIEW"
);
5
6
startActivity(mIntent);
方法二:如果只知道包名,在这种情况下通常也可以启动,通常调用publicabstract Intent getLaunchIntentForPackage(String packageName)
大概意思就是返回一个程序入口的Intent,就是Java程序的Main方法。直接startActivity(返回的intent)即可。
Intent mIntent = getPackageManager()getLaunchIntentForPackage(packageName);
if(mIntent != null) startActivity(mIntent);
方法三:如果不知道包名类名的话,用隐式意图Intent来启动。
具体实现代码:
Intent intent = new Intent("注册的Action");
startActivity(intent); 即可启动一个Activity,和调用系统相机拍照,调用文件管理选择文件同一个写法
通过 PackageManager 获取本机安装的应用,PackageManager可以得到包名,程序名和icon等应用信息,然后通过包名来启动,代码如下:
PackageInfo pi;
try {
pi = getPackageManager().getPackageInfo(packageName, 0);
Intent resolveIntent = new Intent(Intent.ACTION_MAIN, null);
resolveIntent.setPackage(pi.packageName);
PackageManager pManager = getPackageManager();
List apps = pManager.queryIntentActivities(
resolveIntent, 0);
ResolveInfo ri = apps.iterator().next();
if (ri != null) {
packageName = ri.activityInfo.packageName;
String className = ri.activityInfo.name;
Intent intent = new Intent(Intent.ACTION_MAIN);
ComponentName cn = new ComponentName(packageName, className);
intent.setComponent(cn);
startActivity(intent);
}
} catch (NameNotFoundException e) {
e.printStackTrace();
}
- 启动apk的常用方法
- 启动apk的常用方法
- 启动apk或者服务的常用方法
- 启动apk的方法
- 启动apk的方法
- 启动apk的常用方法(包括只知道包名的启动方法)
- 启动apk的常用方法(包括只知道包名的启动方法)
- 启动apk的常用方法(包括只知道包名的启动方法)
- 一个apk启动另一个apk的方法
- APK常用启动方式
- gradle 实现安装apk 启动apk的方法
- android 启动apk的几种方法
- 启动apk的3种方法
- 启动其他APK的Activity方法
- 启动其他APK的Activity方法
- 任意界面启动apk的方法
- Android 启动 卸载 安装 apk 的方法
- 减小Apk包大小的常用方法
- 对 CNN 中 dropout layer 的理解
- listview中复用带有checkbox小记
- iOS CALayer视图图层
- 一个经典问题 (LCS)
- Android Gradle Plugin中 ApplicationVariant文件内的可用属性
- 启动apk的常用方法
- HttpStatus返回状态码
- 遍历Map的4种方法
- 89.UIScrollView的一些不常用属性
- JSON基础以及JSON字符串转换为JSON对象
- Group by与having理解
- Android官方数据绑定框架DataBinding
- 68、 createSQLQuery与createQuery的区别
- 264. Ugly Number II