获取启动器活动名称

时间:2013-05-14 08:05:25

标签: android homescreen android-launcher

您好我不想保留家庭活动名称,以便从我的应用中启动它。

我知道我们可以在不知道包名的情况下启动启动器但是。 我正在制作一个自定义的家,我将其设置为默认,这样就可以启动我的自定义家庭。

我第一次启动自定义主页时,我不想将启动器活动名称保留在共享首选项上,然后我将能够从我的个人家中进入默认主页(不删除我的家庭偏好我会保留它作为默认值并启动默认主页仅用于某些调试测试)

不知道我是否清楚;我很难在这个主题中理解自己所以简历 我需要在我的活动的第一次启动时获取默认启动器的名称(因为它不是每个设备的com.android.launcher)并保持它能够在一段时间后启动它

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

最后我不保留名称我不关心它我只是使用以下代码来启动一个不是我的发射器:P

PackageManager pm = getPackageManager();
Intent i = new Intent("android.intent.action.MAIN");
i.addCategory("android.intent.category.HOME");
List<ResolveInfo> lst = pm.queryIntentActivities(i, 0);
if (lst != null) 
{
  for (ResolveInfo resolveInfo : lst) {
    if (resolveInfo.activityInfo.packageName != getPackageName()){
      Intent res = new Intent();
      String mPackage = resolveInfo.activityInfo.packageName;
      String mClass = resolveInfo.activityInfo.name;
      res.setComponent(new ComponentName(mPackage,mClass));
      startActivity(res);
    }
  }
}

答案 1 :(得分:0)

您可以使用意图操作android.intent.category.HOME注册应用程序,并且您可以获得使用此意图注册的应用程序的包列表。 May be this can also help