我正在尝试查找Android Market中是否已经存在特定的软件包。
我知道我在包页面中实际打开市场应用程序没有问题:
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("market://details?id=" + PACKAGE_NAME));
startActivity(intent);
但是在尝试此操作之前,我想知道它是否存在 - 因此用户不会获得默认的"未找到"市场页面。
当然,一种方法是将 Web Market URL 与 HttpClient (https://market.android.com/details?id=) 一起使用 - 如果包不存在,这将返回 404。
但是,我正在寻找一种方法来使用设备上安装的市场应用程序来做到这一点。
您可以在 Android 市场网址上执行一个简单的测试
https://play.google.com/store/apps/details?id=
com.mycompany.myapp
粗体字母缩进的字母,如果得到任何结果,则断定应用程序包名称已被使用,如果得到"很抱歉,在此服务器上找不到请求的 URL",则可以使用应用包名称。
网址和包名称(https://play.google.com/store/apps/details?id=com.x.y.z)
服务器返回
- HTTP 200:包存在。
- HTTP 404:包确实存在
接受的答案和其他带有链接的答案现在都不起作用(不确定以前是否有效)。我们在使用一个应用时遇到了问题(Google Play 中已经存在捆绑包,这些链接返回 404。我的猜测是,如果是内部测试并且没有发布捆绑包已经被采用,但由于应用程序不是公开的,这些链接将返回 404。