我在查找当前打开的应用程序名称时遇到问题。 我使用ApplicationManager类来获取可见的应用程序。 应用程序描述符显示所有这些应用程序的相同名称电子邮件,消息,短信,呼叫日志。 他们正在为所有上述应用显示“net_rim_bb_messaging_app”。
我需要在打开这些应用程序(电子邮件,消息,短信,calllog)时找到唯一的标识符/名称。 我在过去3天尝试了这个,但找不到解决方案。 能告诉我一个解决方案吗?
ApplicationDescriptor [] appDis = manager.getVisibleApplications();
int currentForgroundAppID = manager.getForegroundProcessId();
for(int i=0;i<appIDs.length;i++)
{
if(appDis[i].getModuleName().equals("net_rim_bb_messaging_app"))
{
//print Messaging app in foreground...
}
}
上面for循环中的情况对于此列表中的每个应用都是如此。
但是,我需要找到一种独特的方法来查找已打开的应用程序。
感谢Adv,
Satish.k
答案 0 :(得分:0)
以下代码可以显示当前前景应用名称
ApplicationDescriptor[] mAppDes;
ApplicationManager appMan = ApplicationManager.getApplicationManager();
appMan.getForegroundProcessId();
mAppDes = appMan.getVisibleApplications();
for (int i = 0; i < mAppDes.length; i++) {
boolean isFG = appMan.getProcessId(mAppDes[i]) == appMan.getForegroundProcessId();
if(isFG)
{
System.out.println("This is your Foteground application Name"+mAppDes[i].getName());
}else{
System.out.println("This is your Background application Name"+mAppDes[i].getName());
}
}