2017-11-08 3 views
0

自分のサーバーのjsonファイルをチェックして、自分のサーバー以外のアプリケーションのversionCodeを確認します。サーバーのjsonのversionCodeがより大きい場合は、自分自身、その後、更新アクションを行います。私の外にあるアプリケーションのversionCodeを取得するには?

更新処理は正常に機能しますが、外部アプリのversionCodeを取得する際に問題が発生しています。 versionCodeは、実際の外部アプリではなく常に0として返されます。

なぜ適切なバージョンが返されないのですか?ここで

他のアプリのversionCodeを取得するための私のコードです:

public static int getinstVersionCode(Context mContext) { 
    if (mContext != null) { 
     try { 
      return mContext.getPackageManager().getPackageInfo(Constants.PACKAGE_NAME, 0).versionCode; 
     } catch (PackageManager.NameNotFoundException ignored) { 
     } 
    } 
    return 0; 
} 

PACKAGE_NAMEは私のサーバー上でJSONファイルに保持されているcom.example.appアプリのパッケージ名と等しい:

static final String APK_VERSION_CODE = "versionCode"; 
static final String PACKAGE_NAME = "package"; 

そして最後に、JSONファイル自体:

"versionCode":0, 
"package":"com.example.app", 

答えて

0

例外を確認して、取得しようとしているバージョンがデバイス上に存在し、パッケージ名と完全に一致している必要があります。

+0

自分のサーバー上のjsonでパッケージ名を自分のapkに設定しても、0しか返されません。パッケージ名は正しくありません – Zuuchq

+0

0とは異なるバージョンを返すことを確かめてください。 "com .android.chrome " – GoranNSW

関連する問題