Robotium_获取当前客户端的版本信息
2013-12-12 13:56
309 查看
package com.aaa_test;
import android.app.Activity;
import com.jayway.android.robotium.solo.*;
import android.app.Activity;
import android.content.Context;
import android.content.ContextWrapper;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.graphics.drawable.Drawable;
import android.util.Log;
import android.view.*;
import android.widget.*;
/***/
@SuppressWarnings("unchecked")
public class Test_Case_001 extends Test {
private static final String LAUNCHER_ACTIVITY_CLASSNAME = "com.aaa.activities.SplashActivity";
private static Class<Activity> launchActivityClass;
static {
try {
launchActivityClass = (Class<Activity>)Class.forName(LAUNCHER_ACTIVITY_CLASSNAME);
} catch (ClassNotFoundException e) {
throw new RuntimeException(e);
}
}
public Test_Case_001() {
super("com.aaa.bbb", launchActivityClass);
}
public void testRecorded()
{
assertTrue("Activity \"StartActivity\" is not started.", solo.waitForActivity("StartActivity", 30000));
solo.sleep(3000);
Activity act = solo.getCurrentActivity();
ApplicationInfo appInfo = act.getApplicationInfo();
System.out.println("-----------aaaa------"+appInfo);
Context context = act.getApplicationContext();
System.out.println("-----------bbbbb------"+context);
String archiveFilePath="/storage/sdcard0/AMdebug.apk";
PackageManager pm = act.getPackageManager();
PackageInfo info = pm.getPackageArchiveInfo(archiveFilePath, PackageManager.GET_ACTIVITIES);
System.out.println("-----------cccc------"+info);
if(info!=null)
{
//获取并打印当前的版本信息
String version = info.versionName;
System.out.println("-----------dddddd------"+version);
}
}
}
获取版本信息与version code
public void testRecorded() {
//等待 Activity "StartActivity" 启动
assertTrue("Activity \"StartActivity\" is not started.", solo.waitForActivity("StartActivity", 30000));
solo.sleep(2000);
Activity act = solo.getCurrentActivity();
ApplicationInfo appInfo = act.getApplicationInfo();
int sdkVer = appInfo.targetSdkVersion;
System.out.println("--------aaa----"+sdkVer);
PackageManager pm = act.getPackageManager();
String appName = pm.getApplicationLabel(appInfo).toString();
System.out.println("--------bbbb----"+appName);
String path = act.getPackageResourcePath();
System.out.println("--------ccc----"+path);
PackageInfo info = pm.getPackageArchiveInfo(path, PackageManager.GET_ACTIVITIES);
System.out.println("--------ddddd----"+info);
if(info!=null)
{
String version = info.versionName;
int verCode = info.versionCode;
System.out.println("version is:"+version+"version code:"+verCode);
}
}
参考代码如下:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
String archiveFilePath="sdcard/download/Law.apk";//安装包路径
PackageManager pm = getPackageManager();
PackageInfo info = pm.getPackageArchiveInfo(archiveFilePath, PackageManager.GET_ACTIVITIES);
if(info != null){
ApplicationInfo appInfo = info.applicationInfo;
String appName = pm.getApplicationLabel(appInfo).toString();
String packageName = appInfo.packageName; //得到安装包名称
String version=info.versionName; //得到版本信息
Toast.makeText(test4.this, "packageName:"+packageName+";version:"+version, Toast.LENGTH_LONG).show();
Drawable icon = pm.getApplicationIcon(appInfo);//得到图标信息
TextView tv = (TextView)findViewById(R.id.tv); //显示图标
tv.setBackgroundDrawable(icon);
public void apkInfo(String absPath,Context context) {
PackageManager pm = context.getPackageManager();
PackageInfo pkgInfo = pm.getPackageArchiveInfo(absPath,PackageManager.GET_ACTIVITIES);
if (pkgInfo != null) {
ApplicationInfo appInfo = pkgInfo.applicationInfo;
/* 必须加这两句,不然下面icon获取是default icon而不是应用包的icon */
appInfo.sourceDir = absPath;
appInfo.publicSourceDir = absPath;
String appName = pm.getApplicationLabel(appInfo).toString();// 得到应用名
String packageName = appInfo.packageName; // 得到包名
String version = pkgInfo.versionName; // 得到版本信息
/* icon1和icon2其实是一样的 */
Drawable icon1 = pm.getApplicationIcon(appInfo);// 得到图标信息
Drawable icon2 = appInfo.loadIcon(pm);
String pkgInfoStr = String.format("PackageName:%s, Vesion: %s, AppName: %s", packageName, version, appName);
Log.i("aaa", String.format("PkgInfo: %s", pkgInfoStr));
}
}
import android.app.Activity;
import com.jayway.android.robotium.solo.*;
import android.app.Activity;
import android.content.Context;
import android.content.ContextWrapper;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.graphics.drawable.Drawable;
import android.util.Log;
import android.view.*;
import android.widget.*;
/***/
@SuppressWarnings("unchecked")
public class Test_Case_001 extends Test {
private static final String LAUNCHER_ACTIVITY_CLASSNAME = "com.aaa.activities.SplashActivity";
private static Class<Activity> launchActivityClass;
static {
try {
launchActivityClass = (Class<Activity>)Class.forName(LAUNCHER_ACTIVITY_CLASSNAME);
} catch (ClassNotFoundException e) {
throw new RuntimeException(e);
}
}
public Test_Case_001() {
super("com.aaa.bbb", launchActivityClass);
}
public void testRecorded()
{
assertTrue("Activity \"StartActivity\" is not started.", solo.waitForActivity("StartActivity", 30000));
solo.sleep(3000);
Activity act = solo.getCurrentActivity();
ApplicationInfo appInfo = act.getApplicationInfo();
System.out.println("-----------aaaa------"+appInfo);
Context context = act.getApplicationContext();
System.out.println("-----------bbbbb------"+context);
String archiveFilePath="/storage/sdcard0/AMdebug.apk";
PackageManager pm = act.getPackageManager();
PackageInfo info = pm.getPackageArchiveInfo(archiveFilePath, PackageManager.GET_ACTIVITIES);
System.out.println("-----------cccc------"+info);
if(info!=null)
{
//获取并打印当前的版本信息
String version = info.versionName;
System.out.println("-----------dddddd------"+version);
}
}
}
获取版本信息与version code
public void testRecorded() {
//等待 Activity "StartActivity" 启动
assertTrue("Activity \"StartActivity\" is not started.", solo.waitForActivity("StartActivity", 30000));
solo.sleep(2000);
Activity act = solo.getCurrentActivity();
ApplicationInfo appInfo = act.getApplicationInfo();
int sdkVer = appInfo.targetSdkVersion;
System.out.println("--------aaa----"+sdkVer);
PackageManager pm = act.getPackageManager();
String appName = pm.getApplicationLabel(appInfo).toString();
System.out.println("--------bbbb----"+appName);
String path = act.getPackageResourcePath();
System.out.println("--------ccc----"+path);
PackageInfo info = pm.getPackageArchiveInfo(path, PackageManager.GET_ACTIVITIES);
System.out.println("--------ddddd----"+info);
if(info!=null)
{
String version = info.versionName;
int verCode = info.versionCode;
System.out.println("version is:"+version+"version code:"+verCode);
}
}
参考代码如下:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
String archiveFilePath="sdcard/download/Law.apk";//安装包路径
PackageManager pm = getPackageManager();
PackageInfo info = pm.getPackageArchiveInfo(archiveFilePath, PackageManager.GET_ACTIVITIES);
if(info != null){
ApplicationInfo appInfo = info.applicationInfo;
String appName = pm.getApplicationLabel(appInfo).toString();
String packageName = appInfo.packageName; //得到安装包名称
String version=info.versionName; //得到版本信息
Toast.makeText(test4.this, "packageName:"+packageName+";version:"+version, Toast.LENGTH_LONG).show();
Drawable icon = pm.getApplicationIcon(appInfo);//得到图标信息
TextView tv = (TextView)findViewById(R.id.tv); //显示图标
tv.setBackgroundDrawable(icon);
public void apkInfo(String absPath,Context context) {
PackageManager pm = context.getPackageManager();
PackageInfo pkgInfo = pm.getPackageArchiveInfo(absPath,PackageManager.GET_ACTIVITIES);
if (pkgInfo != null) {
ApplicationInfo appInfo = pkgInfo.applicationInfo;
/* 必须加这两句,不然下面icon获取是default icon而不是应用包的icon */
appInfo.sourceDir = absPath;
appInfo.publicSourceDir = absPath;
String appName = pm.getApplicationLabel(appInfo).toString();// 得到应用名
String packageName = appInfo.packageName; // 得到包名
String version = pkgInfo.versionName; // 得到版本信息
/* icon1和icon2其实是一样的 */
Drawable icon1 = pm.getApplicationIcon(appInfo);// 得到图标信息
Drawable icon2 = appInfo.loadIcon(pm);
String pkgInfoStr = String.format("PackageName:%s, Vesion: %s, AppName: %s", packageName, version, appName);
Log.i("aaa", String.format("PkgInfo: %s", pkgInfoStr));
}
}
相关文章推荐
- 8021x 获取IP信息失败,请检查锐捷认证客户端当前配置是否符合所在网络的要求,检查完毕后尝试重新认证
- 获取当前版本信息
- (转载)获取当前运行的PHP版本信息
- 获取程序当前版本信息
- ASP.NET获取客户端的操作系统、浏览器、.NET版本等信息(图)
- 获取客户端的信息(版本,OS,IP)(NET2.0)
- ASP.NET获取客户端的操作系统、浏览器、.NET版本等信息(图)
- Android_获取当前的版本号和版本名称,获取SIM卡的信息
- 获取当前客户端IP信息 - 新浪接口
- Maximo 获取当前运行的Maximo环境的版本信息
- js获取当前浏览器内核版本信息
- HOW TO:获取当前Office应用程序的安装版本语言等信息
- 笔记整理-Android获取当前app的版本信息
- IOS 获取当前版本信息
- 获取当前版本信息
- ASP.NET获取客户端的操作系统、浏览器、.NET版本等信息(图)
- Maximo 获取当前运行的Maximo环境的版本信息
- Android 获取当前APP和系统的版本信息
- 获取当前ios系统的版本信息
- JS获取当前浏览器及版本信息