怎么启动一个不知道包名和类名的Android APK

2025-02-06 12:04:05
推荐回答(3个)
回答1:

需要使用隐式意图Intent来启动。

具体实现代码:

  1. Intent intent = new Intent("注册的Action");

    startActivity(intent); 即可启动一个Activity,和调用系统相机拍照,调用文件管理选择文件同一个写法

  2. 通过 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();  

        }  

回答2:

你都不知道包名和类名,怎么启动,除非人家提供了一个开放的接口给你....... 你可以把人家的apk包反编译后详细看看

回答3:

上千个不好弄啊 别人写好的就没有发action的可能了不过反编译看一下AndroidManifest应该可以吧 有那种工具看不了代码看个AndroidManifest应该没问题 你可以找个你们公司实习生啥的帮你弄啊 嘿嘿