簡體   English   中英

檢查Android電子市場上的應用是否可用

[英]Check if app available on Android Market

給定Android應用程序的ID /包名稱,如果應用程序在Android Market上可用,我如何以編程方式檢查?

例如:

com.rovio.angrybirds可用,其中com.random.app.ibuilt不可用

我計划從Android應用程序或Java Servlet執行此檢查。

謝謝,

PS:我看了http://code.google.com/p/android-market-api/ ,但我想知道是否有更簡單的方法來檢查

您可以嘗試打開該應用的詳細信息頁面 - https://market.android.com/details?id=com.rovio.angrybirds

如果該應用程序存在,您會得到:

在此輸入圖像描述

它可能不太理想,但您應該能夠解析返回的HTML以確定該應用程序不存在。

雖然@RivieeaKid的html解析解決方案有效,但我發現這可能是一個更持久和正確的解決方案。 請確保使用“https”前綴(不是普通的“http”)來避免重定向。

/**
 * Checks if an app with the specified package name is available on Google Play.
 * Must be invoked from a separate thread in Android.
 *
 * @param packageName the name of package, e.g. "com.domain.random_app"
 * @return {@code true} if available, {@code false} otherwise
 * @throws IOException if a network exception occurs
 */
private boolean availableOnGooglePlay(final String packageName)
        throws IOException
{
    final URL url = new URL("https://play.google.com/store/apps/details?id=" + packageName);
    HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
    httpURLConnection.setRequestMethod("GET");
    httpURLConnection.connect();
    final int responseCode = httpURLConnection.getResponseCode();
    Log.d(TAG, "responseCode for " + packageName + ": " + responseCode);
    if(responseCode == HttpURLConnection.HTTP_OK) // code 200
    {
        return true;
    }
    else // this will be HttpURLConnection.HTTP_NOT_FOUND or code 404 if the package is not found
    {
        return false;
    }
}

給定Android應用程序的ID /包名稱,如果應用程序在Android Market上可用,我如何以編程方式檢查?

沒有記錄和支持的方法來執行此操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM