Activityメソッドの取得
1656 ワード
最近のプロジェクトではactivityを動的に取得する必要があります.よく検討してみると、次のことがわかります.
Launcherアプリケーション->Workspace.JAva->updateShortcutsメソッド->
if (info.itemType == LauncherSettings.Favorites.ITEM_TYPE_APPLICATION && Intent.ACTION_MAIN.equals(intent.getAction()) && name != null) {
...................................
}の後に、次のコードを追加します.
Launcherアプリケーション->Workspace.JAva->updateShortcutsメソッド->
if (info.itemType == LauncherSettings.Favorites.ITEM_TYPE_APPLICATION && Intent.ACTION_MAIN.equals(intent.getAction()) && name != null) {
...................................
}の後に、次のコードを追加します.
else if(info.itemType == LauncherSettings.Favorites.ITEM_TYPE_SHORTCUT &&
Intent.ACTION_MAIN.equals(intent.getAction()) && name != null){
String[] str=name.flattenToShortString().split("/");
Log.d("ResolveInfo","str[0]="+str[0]+",str[1]="+str[1]);
String str1=str[0];
String str2=str[0]+str[1];
ComponentName com= new ComponentName(str1,str2);
Intent ii=new Intent();
ii.setComponent(com);
List<ResolveInfo> list=pm.queryIntentActivities(ii, 0);
if(list.size()>0){
for(ResolveInfo r:list){
String newtitle=r.loadLabel(pm).toString();
Log.d("ResolveInfo"," activity ="+newtitle);
info.setTitle(newtitle);
}
}
}