【发布时间】:2014-03-11 19:42:17
【问题描述】:
我已经编写了一个工作代码,用于显示所有应用程序中所有可用快捷方式的列表,并捕获所选快捷方式的意图以及应用程序的名称和快捷方式。但我似乎找不到如何获取快捷方式图标。在 onActivityResult 我尝试了 data.getStringExtra(Intent.EXTRA_SHORTCUT_ICON) 函数,但这会产生一个返回空的字符串。有人可以帮忙吗?
(我想要快捷方式图标...不是应用程序图标)
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
Log.w("on activity result ston action picker","aaaa");
if(resultCode == Activity.RESULT_OK && data != null) {
switch (requestCode){
case pick_shortcut:
Intent j = data.getParcelableExtra(Intent.EXTRA_SHORTCUT_INTENT);
String shortcut_name = data.getStringExtra(Intent.EXTRA_SHORTCUT_NAME);
ComponentName componentName2 = j.getComponent();
String packageName2 = componentName2.getPackageName();
PackageManager packageManager2 = getPackageManager();
ApplicationInfo applicationInfo2 = null;
try {
applicationInfo2 = packageManager2.getApplicationInfo(packageName2, 0);
} catch (final NameNotFoundException e) {}
String title2 = (String)((applicationInfo2 != null) ? packageManager2.getApplicationLabel(applicationInfo2) : "???");
Log.w(shortcut_name,title2);
}
}
}
【问题讨论】: