显示版本名称

use*_*694 1 xml android textview android-manifest

我想在我的spalsh屏幕上显示位于android清单中的versionName(数字).我找到了一些示例代码,但它们无法正常工作.这似乎是一个简单的任务,但它不会显示给我

来自splash 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=" " />
Run Code Online (Sandbox Code Playgroud)

显示方式:

    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);
  }
Run Code Online (Sandbox Code Playgroud)

Ale*_*tin 7

也许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;
    }
Run Code Online (Sandbox Code Playgroud)