2015-11-16 13 views
8

私はMinecraft Pocket EditionのversionName(例0.13.0.b5)を取得したいと思います。別のアプリケーションのバージョン名を取得する方法

これは私がStringにバージョンを取得したいMCPE(Minecraftのポケット版)

com.mojang.minecraftpe 

のパッケージです。これどうやってするの?

List<PackageInfo> packages = getPackageManager().getInstalledPackages(0); 

PackageInfo mypackage = <com.mojang.minecraftpe>; 

String versionName = mypackage.versionName; 

ソリューション:

try 
    { 
     PackageInfo eInfo = getPackageManager().getPackageInfo("com.mojang.minecraftpe", 0); 
     changelog=eInfo.versionName; 
     lol.setText(changelog); 
     } 
    catch (PackageManager.NameNotFoundException e) 
    {} 
+0

mypackage.versionCodeを返します。 –

+0

http://stackoverflow.com/questions/4616095/how-to-get-the-build-version-number-of-your-android-applicationの重複 –

+0

私は取得したくないversionCode(70615005)取得したいversionName(0.13.0)(そして私は別のアプリケーションのversionNameを取得したいです。) – Ataberk

答えて

11

は、それが(パッケージ形式)パッケージマネージャからパッケージ情報を取得し、バージョン名:代わりにmypackage.versionNameの

PackageInfo packageInfo = getPackageManager().getPackageInfo("com.mojang.minecraftpe", 0); 
return packageInfo.versionName; 
+2

ようこそStackOverflow!あなたのコードにいくつかの説明を加えてください:それはなぜ機能しますか?それは何をすべきか? – Aurasphere

+1

特定のインストールされたアプリケーションのバージョン名を返します –

+0

@Aurasphereパッケージマネージャーから(パッケージ別に)パッケージ情報を取得し、バージョン名を返します。私はそれがやや自明だと思う。どんな 'Context'もパッケージマネージャを持っています。 – EpicPandaForce

2
List<PackageInfo> apps = getPackageManager().getInstalledPackages(0); 
ArrayList<App> result = new ArrayList<>(); 

for(int i=0;i<apps.size();i++) { 
     PackageInfo p = apps.get(i); 
     App newApp = new App(); 
     newApp.pname = p.packageName; 
     newApp.versionName = p.versionName; 
     newApp.versionCode = p.versionCode; 
} 

String minecraft = "com.mojang.minecraftpe"; 

for (App name : result) { 
     if (Objects.equals(minecraft, name.pname)) 
     String versionName = name.versionName; 

} 

// -----クラスの説明------

class App { 
    String pname = ""; 
    String versionName = ""; 
    int versionCode = 0; 
} 
パッケージ名を取得する

私のコード

バージョンコードを使用する場合は、forループの名前でif条件を変更します.VersionCode。

参考:PackageManager(Class for retrieving various kinds of information related to the application packages that are currently installed on the device.

+0

このリンクは質問に答えるかもしれませんが、ここでは答えの必須部分を含めて参考にしてください。リンクされたページが変更された場合、リンクのみの回答は無効になります。 - [レビューから](/レビュー/低品質の投稿/ 10217107) –

+1

okはここで関連情報を更新します。 –

+1

@Ataberkこれを試してください。 –

関連する問題