在Android中,可以使用PackageManager
类来获取应用程序的安装时间和上次更新时间。以下是如何实现的一般步骤:
以微信为例:
- 获取一个
PackageManager
的实例。 - 使用
PackageManager
的getPackageInfo
方法,传入微信的包名(通常是com.tencent.mm
)来获取PackageInfo
对象。 - 从
PackageInfo
对象中读取firstInstallTime
属性和lastUpdateTime
属性。
下面是一个简单的示例代码片段,展示了如何获取微信app的安装时间和更新时间:
try {PackageManager packageManager = getPackageManager();PackageInfo packageInfo = packageManager.getPackageInfo("com.tencent.mm", 0);// 安装时间(第一次安装时间)long firstInstallTime = packageInfo.firstInstallTime;Date installDate = new Date(firstInstallTime);// 更新时间(最后一次更新时间)long lastUpdateTime = packageInfo.lastUpdateTime;Date updateDate = new Date(lastUpdateTime);// 将毫秒数转换为实际日期格式或其他你需要的格式SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String installDateString = dateFormat.format(installDate);String updateDateString = dateFormat.format(updateDate);// 打印或在界面上显示安装时间和更新时间Log.d("WeChat Install Time", installDateString);Log.d("WeChat Update Time", updateDateString);} catch (PackageManager.NameNotFoundException e) {// 微信没有安装在设备上 或者 发生了其他错误e.printStackTrace();
}
此代码假定您已经拥有必要的上下文 (Context
) 权限,并且它运行在具有正确权限的环境中。如果微信应用未安装,getPackageInfo
将抛出NameNotFoundException
异常。
请注意,对于普通应用来说,你不需要任何特殊权限就可以访问这些信息。但是,请确保在尝试调用getPackageManager()
时,你的代码是在拥有有效上下文的环境中执行,例如在Activity
或Service
中。
Google常见包名和启动页
应用名 | 包名 | 启动页 |
---|---|---|
com.facebook.katana | com.facebook.katana.LoginActivity | |
Chrome | com.android.chrome | com.google.android.apps.chrome.Main |
Gmail | com.google.android.gm | com.google.android.gm.ConversationListActivityGmail |
Google+ | com.google.android.apps.plus | com.google.android.apps.plus.phone.HomeActivity |
Maps | com.google.android.apps.maps | com.google.android.maps.MapsActivity |
Play Movies | com.google.android.videos | com.google.android.youtube.videos.EntryPoint |
Play Books | com.google.android.apps.books | com.google.android.apps.books.app.BooksActivity |
Play Games | com.google.android.play.games | com.google.android.gms.games.ui.destination.main.MainActivity |
Drive | com.google.android.apps.docs | com.google.android.apps.docs.app.NewMainProxyActivity |
YouTube | com.google.android.youtube | com.google.android.apps.youtube.app.WatchWhileActivity |
Photos | com.google.android.apps.plus | com.google.android.apps.plus.phone.ConversationListActivity |
Hangouts | com.google.android.talk | com.google.android.talk.SigningInActivity |
Play Store | com.android.vending | com.android.vending.AssetBrowserActivity |
Opera Mini | com.opera.mini.android | com.opera.mini.android.Browser |
Deezer | deezer.android.app | com.deezer.android.ui.activity.LauncherActivity |