2013-05-14 83 views
1

您好,我不想保留家庭活动名称以便从我的应用程序启动它。获取启动器活动名称

我知道我们可以在不知道包名的情况下启动启动器。 我正在做一个自定义的家,我将它设置为默认,所以这将启动我的自定义家庭。

我不想在第一次启动我的自定义家庭时在共享首选项上保留启动器活动名称,然后我将能够从我的个人家中进入默认主页(不删除我的首选项我将保持默认状态并启动默认主页,以进行一些调试测试)

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

任何想法?

回答

2

Finaly我不要让我不关心它的名字,我只是用下面的代码来发动启动谁是不是我: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); 
    } 
    } 
} 
+0

这一点,如果块没有进入室内这意味着lst为空 – Erum 2015-05-11 06:30:58