2

Android マニフェストにある versionName (番号) をスパルシュ画面に表示したいと考えています。サンプルコードをいくつか見つけましたが、機能していません。これは簡単な作業のように思えますが、私には表示されません

スプラッシュ xml からのテキスト ビュー:

   <TextView
        android:id="@+id/ver_name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:layout_marginBottom="33dp"
        android:layout_marginRight="30dp"
        android:text=" " />

表示方法:

    private void displayVersionName() {
    String versionName = "";
    PackageInfo packageInfo;
    try {
        packageInfo = getPackageManager().getPackageInfo(getPackageName(), 0);
        versionName = "ver:" + packageInfo.versionName;
    } catch (NameNotFoundException e) {
        e.printStackTrace();
    }
    TextView tv = (TextView) findViewById(R.id.ver_name);
    tv.setText(versionName);
  }
4

3 に答える 3

8

もしかしてNameNotFoundException投げられる?または、バージョン文字列を表示しているときに何かが起こるのでしょうか?

とにかく、私はあなたとまったく同じで、うまくいきます。以下のコードで getVersionInfo が返す内容を確認してから、それを表示してみてください。

public String getVersionInfo() {
        String strVersion = "Version:";

        PackageInfo packageInfo;
        try {
            packageInfo = getApplicationContext()
                .getPackageManager()
                .getPackageInfo(
                    getApplicationContext().getPackageName(), 
                    0
                );
            strVersion += packageInfo.versionName;
        } catch (NameNotFoundException e) {
            strVersion += "Unknown";
        }

        return strVersion;
    }
于 2012-12-07T16:18:59.057 に答える
0

コードを使用してアプリケーションのバージョン名を取得するようにコードを変更します

    private void displayVersionName() {
    String verName = "";
    try {
        verName = "ver:" + Current_Activity.this.getPackageManager().
                            "YOUR_APPLICATION_PACKAGE_NAME", 0).versionName;  
    } catch (NameNotFoundException e) {
        e.printStackTrace();
    }
    TextView tv = (TextView) findViewById(R.id.ver_name);
    tv.setText(verName);
  }
于 2012-12-07T16:17:34.250 に答える