android - 获取所有应用程序的包名和类名

标签 android class package

有谁知道这些应用程序的类名和包名:

YouTube Facebook 亚马逊 mp3 谷歌谈话 相机 map 短信 拨号器/电话 发射器 安卓市场 消息传递 联系人 社交网络 高级任务 killer

我正在尝试制作按钮来打开这些应用程序。肯定有比为每个应用程序找出包名和类名更简单的方法。如果有让我知道该怎么做。 谢谢! :)

最佳答案

class PInfo {
    private String appname = "";
    private String pname = "";
    private String classname = "";
    private int versionCode = 0;
    private Drawable icon;
    private void prettyPrint() {
        Log.d("Applist ",appname + "   " + pname + "   " + classname + "   " + versionCode);

    }
}





public ArrayList<PInfo> getPackages() {
     Log.d("AppNo", "Inside Packages"); 
    ArrayList<PInfo> apps = getInstalledApps(false); /* false = no system packages */
    final int max = apps.size();
    Log.d("AppNo", "no of apps "+max); 
    for (int i=0; i<max; i++) {
        apps.get(i).prettyPrint();

    }
    return apps;
}

public ArrayList<PInfo> getInstalledApps(boolean getSysPackages) {
    ArrayList<PInfo> res = new ArrayList<PInfo>();        
    List<PackageInfo> packs = getPackageManager().getInstalledPackages(0);
    for(int i=0;i<packs.size();i++) {
        PackageInfo p = packs.get(i);



        if ((!getSysPackages) && (p.versionName == null)) {
            continue ;
        }
        PInfo newInfo = new PInfo();
        newInfo.appname = p.applicationInfo.loadLabel(getPackageManager()).toString();
        newInfo.pname = p.packageName;
        newInfo.classname = p.applicationInfo.className;
        newInfo.versionCode = p.versionCode;
        newInfo.icon = p.applicationInfo.loadIcon(getPackageManager());

        Intent app=getPackageManager().getLaunchIntentForPackage(p.packageName);


            if(app!=null){
                dleteintent(app,newInfo.appname, newInfo.icon);
                res.add(newInfo);
        }

    }
    return res;

使用 PakageInfo 可以得到包名、应用名,但不能确定应用类名

使用此示例,您可以列出设备中安装的所有应用程序,并可以获得相关信息。

关于android - 获取所有应用程序的包名和类名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6648259/

相关文章:

android - 如何在 Android Studio 中读取引号类型的 XML 文件

android - 我在相对布局中有两个 imageView。是否可以动态更改一个 ImageView 的位置。而另一个保持不变。

c++ - 使用运算符重载时,难以在命名空间内分离类的 header /源

c++ - 为什么 C++ 成员函数在参数中使用 &?

Python安装包

javascript - Google Maps API NativeScript 自定义标记图标

java - 如何从android中的电池管理器类获取电池温度?

python - 类变量作为封闭类的实例

r - 创建一个依赖于 GitHub 上另一个 R 包的 R 包

python - 使用 subprocess 命令调用 R 脚本,但 r 脚本中的 Library() 命令阻止它运行