標籤:android activity
判斷當前Activity是最後一個Activity:
在Activity的方法中, 有一個方法isTaskRoot()方法, 這個方法可以判斷當前Activity是否是最後一個Activity, 如果是, 使用者再按一次返回鍵就退出應用, 否則回到上一個仍然活動的Activity;
代碼如下:
@Overridepublic void onBackPressed() {if (isTaskRoot()) {Toast.makeText(mContext, "當前activity是該應用唯一,一個存活的activity", 0).show();}else {Toast.makeText(mContext, "當前activity不是是該應用唯一,存活的activity", 0).show();}super.onBackPressed();}
判斷應用或Activity是否存在:
一、根據包名判斷應用是否存在
public boolean checkApplication(String packageName) {
if (packageName == null || "".equals(packageName)){
return false;
}
try {
ApplicationInfo info = getPackageManager().getApplicationInfo(packageName, PackageManager.GET_UNINSTALLED_PACKAGES);
return true;
} catch (NameNotFoundException e) {
return false;
}
}
二、判斷Activity是否存在
Intent intent = new Intent();
intent.setClassName("包名", "類名");
方法一: if (getPackageManager().resolveActivity(intent, 0) == null) {
// 說明系統中不存在這個activity
}
方法二: if(intent.resolveActivity(getPackageManager()) == null) {
// 說明系統中不存在這個activity
}
方法三: List<ResolveInfo> list = getPackageManager().queryIntentActivities(intent, 0);
if (list.size() == 0) {
// 說明系統中不存在這個activity
}
Android 判斷當前Activity是不是最後一個Activity 以及 應用或Activity是否存在