package com.coderdream.mobilesafe.activity; import android.app.Activity; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.os.Bundle; import android.view.Window; import android.view.WindowManager; import android.widget.TextView; import com.coderdream.mobilesafe.R; public class SplashActivity extends Activity { private TextView tv_splash_version; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 設置爲無標題欄 requestWindowFeature(Window.FEATURE_NO_TITLE); // 設置爲全屏模式 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(R.layout.activity_splash); tv_splash_version = (TextView) findViewById(R.id.tv_splash_version); tv_splash_version.setText("版本號:" + getVersion()); } /** * <pre> * 獲取當前應用程序的版本號。 * 版本號存在於咱們的APK中對應的清單文件中(直接解壓APK後,便可看到對應的清單文件), * 版本號是manifest節點中的android:versionName="1.0" * 當一個應用程序被裝到手機後 ,該apk拷貝到手機的data/app目錄下(也就是系統中), * 如圖6。因此想獲得版本號,咱們須要拿到與系統相關的服務,就能夠獲得apk中的信息了 * * </pre> * * @return */ private String getVersion() { // 獲得系統的包管理器。已經獲得了apk的面向對象的包裝 PackageManager pm = this.getPackageManager(); try { // 參數一:當前應用程序的包名 參數二:可選的附加消息,這裏咱們用不到 ,能夠定義爲0 PackageInfo info = pm.getPackageInfo(getPackageName(), 0); // 返回當前應用程序的版本號 return info.versionName; } catch (Exception e) {// 包名未找到的異常,理論上, 該異常不可能會發生 e.printStackTrace(); return ""; } } }
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.coderdream.mobilesafe" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.coderdream.mobilesafe.activity.SplashActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>