android 怎么判断项目已经启动
想要的效果是这样的,当我运行一个APP的时候,我要先知道他是不是已经在运行了,如果已经在运行了,就把运行的APP打开,如果没有在运行,就重新打开一个APP。想问,这样子要...
想要的效果是这样的,当我运行一个APP的时候,我要先知道他是不是已经在运行了,如果已经在运行了,就把运行的APP打开,如果没有在运行,就重新打开一个APP。
想问,这样子要怎么去判断 展开
想问,这样子要怎么去判断 展开
3个回答
2015-09-06 · 知道合伙人软件行家
关注
展开全部
Android系统中,判断应用有无启动有两种方式:
1.根据包名判断,以下为判断代码:
public boolean checkApkExist(Context context, String packageName) {
if (packageName == null || “”.equals(packageName))
return false;
try {
ApplicationInfo info = context.getPackageManager()
.getApplicationInfo(packageName,
PackageManager.GET_UNINSTALLED_PACKAGES);
return true;
} catch (NameNotFoundException e) {
return false;
}
}
2. 根据Intent判断,以下为判断代码:
public boolean checkApkExist(Context context, Intent intent) {
List<ResolveInfo> list = context.getPackageManager().queryIntentActivities(intent, 0);
if(list.size() > 0){
return true;
}
return false;
}
public boolean checkApkExist(Context context, String packageName) {
if (packageName == null || “”.equals(packageName)) return false;
try {
ApplicationInfo info = context.getPackageManager() .getApplicationInfo(packageName, PackageManager.GET_UNINSTALLED_PACKAGES); return true;
} catch (NameNotFoundException e) { return false; }
}
public boolean checkApkExist(Context context, Intent intent) {
List<ResolveInfo> list = context.getPackageManager()
.queryIntentActivities(intent, 0);
if (list.size() > 0) {
return true;
}
return false;
}
1.根据包名判断,以下为判断代码:
public boolean checkApkExist(Context context, String packageName) {
if (packageName == null || “”.equals(packageName))
return false;
try {
ApplicationInfo info = context.getPackageManager()
.getApplicationInfo(packageName,
PackageManager.GET_UNINSTALLED_PACKAGES);
return true;
} catch (NameNotFoundException e) {
return false;
}
}
2. 根据Intent判断,以下为判断代码:
public boolean checkApkExist(Context context, Intent intent) {
List<ResolveInfo> list = context.getPackageManager().queryIntentActivities(intent, 0);
if(list.size() > 0){
return true;
}
return false;
}
public boolean checkApkExist(Context context, String packageName) {
if (packageName == null || “”.equals(packageName)) return false;
try {
ApplicationInfo info = context.getPackageManager() .getApplicationInfo(packageName, PackageManager.GET_UNINSTALLED_PACKAGES); return true;
} catch (NameNotFoundException e) { return false; }
}
public boolean checkApkExist(Context context, Intent intent) {
List<ResolveInfo> list = context.getPackageManager()
.queryIntentActivities(intent, 0);
if (list.size() > 0) {
return true;
}
return false;
}
展开全部
不明白你在说什么,你意思你的app是个服务还是怎么的。如果是一般的activity还在运行的话系统会默认这样做。不用你去搞。你把你的activity的启动模式设为 android:launchMode="singleTask"就好了,如果你说的是这个,建议你去了解一下activity的启动模式、
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
看一下activity的启动模式,共4个 看了你就明白了。
android:launchMode="singleTask"设置为这个,系统就会自动帮你完成你要的需求了。
android:launchMode="singleTask"设置为这个,系统就会自动帮你完成你要的需求了。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |