我想爲android做一個自定義的啓動器,我試圖找出如何啓動一個不同的應用程序表單我的。我想這樣做是意圖的方式,我發現一個帖子在這裏:如何從ResolveInfo開始一個意圖
Open another application from your own (intent)
我真的不明白的答案,但!有人能給我一個簡短的片段或一系列步驟,從單一的ResolveInfo去啓動由ResolveInfo代表的應用程序?
我想爲android做一個自定義的啓動器,我試圖找出如何啓動一個不同的應用程序表單我的。我想這樣做是意圖的方式,我發現一個帖子在這裏:如何從ResolveInfo開始一個意圖
Open another application from your own (intent)
我真的不明白的答案,但!有人能給我一個簡短的片段或一系列步驟,從單一的ResolveInfo去啓動由ResolveInfo代表的應用程序?
給定一個名爲ResolveInfo
launchable
:
ActivityInfo activity=launchable.activityInfo;
ComponentName name=new ComponentName(activity.applicationInfo.packageName,
activity.name);
Intent i=new Intent(Intent.ACTION_MAIN);
i.addCategory(Intent.CATEGORY_LAUNCHER);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK |
Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
i.setComponent(name);
startActivity(i);
(從https://github.com/commonsguy/cw-omnibus/tree/master/Introspection/Launchalot)
通過建立這樣一個新的意圖。
Intent intent = new Intent();
intent.setClassName(resolveInfo.activityInfo.applicationInfo.packageName,
resolveInfo.activityInfo.name);
startActivity(intent);
哇簡單和短... –
可能會縮短第二行嗎? intent.setClassName(resolveInfo.activityInfo.packageName, resolveInfo.activityInfo.name); –
工作完美,謝謝! –
一切正常,但每個應用程序都有圖標的大小,這裏不管理 –