java - 如何以编程方式获取Android中已安装的游戏列表

标签 java android

在我的项目中,我可以通过以下代码获取所有已安装应用程序的列表:

public class ApplicationFilterActivity extends Activity implements
        OnItemClickListener {

    ListView appfilter;
    SharedPreferences preferences;
    public static String filenames = "RotateData";
PackageManager pck;
    ArrayList<Applications> results = new ArrayList<Applications>();
    ArrayList<String> gotPackagename = new ArrayList<String>();

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        appfilter = (ListView) findViewById(R.id.lvApp);
        preferences = getSharedPreferences(filenames, 0);
        PackageManager packageManager = this.getPackageManager();
        List<PackageInfo> applist = packageManager.getInstalledPackages(0);
        Iterator<PackageInfo> it = applist.iterator();
        while (it.hasNext()) {
            PackageInfo pk = (PackageInfo) it.next();
            results.add(new Applications(pk.applicationInfo
                    .loadIcon(packageManager), ""
                    + pk.applicationInfo.loadLabel(packageManager)));
            Log.i("AppName", "" + pk.applicationInfo.packageName);
            gotPackagename.add(pk.applicationInfo.packageName);
        }

        appfilter.setAdapter(new Customarrayadapter(this, results));
        appfilter.setOnItemClickListener(this);
    }
}

但现在我想过滤列表只显示游戏,这可能吗?

最佳答案

Android 中无法将您的应用设置为“游戏类型”,因此您无法按类别过滤应用。

我认为,最好的解决方案 - 从 Google Play 解析所有游戏包(游戏名称可能因手机本地化而有所不同),并将该列表放入应用程序中,有时从服务器更新它。如果您的应用程序始终有互联网连接,您可以将找到的应用程序列表发送到服务器,服务器将从该列表返回游戏。因此,您需要为此编写服务器代码。

关于java - 如何以编程方式获取Android中已安装的游戏列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13668443/

相关文章:

java - Cron 表达式 : Run on specific time (1:30 pm , 15:24 pm) 仅适用于周一和周三

java - 在 Java 中使用 JSplitPane 有问题吗?

java - 日期对象问题

Android:如何在指定时间开始一个 Activity ?

android - 如何只录制1分钟的音频?

Android 处理程序更改 WeakReference

java - 如何从这个字符串中解析出时间戳?

android - Handler Runnable 甚至在 Activity 退出后运行

android - 应用程序关闭时的 Firebase 通知(问题)

java - 如何避免阻塞 Java ServerSocket?