显示版本名称

时间:2012-12-07 16:13:30

标签: android xml 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=" " />

显示方法:

    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);
  }

3 个答案:

答案 0 :(得分: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;
    }

答案 1 :(得分: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);
  }

答案 2 :(得分:0)

试试这个:

 TextView tv = (TextView) findViewById(R.id.ver_name);
 tv.setText("version : " + BuildConfig.VERSION_NAME);

然后导入要包含versionName的包的BuildConfig

import com.yourpackage.BuildConfig;