【发布时间】:2011-12-23 21:29:27
【问题描述】:
我正在尝试做一些在下一个链接中简要描述的事情:
意思是,我有一个甚至可以在另一个应用程序上的活动(但现在让我们专注于我的应用程序拥有的一个活动),我希望能够为它创建一个快捷方式。
对于术语,假设创建快捷方式的活动名为“ShortcutCreatorActivity”,启动的活动是“MyActivity”。
我从所写的内容中得到的是 ShortcutCreatorActivity 应该在清单中定义为:
<activity android:icon="@drawable/ic_launcher"
android:label="ShortcutActivity" android:name="com.my_app.ShortcutCreatorActivity">
<intent-filter>
<action android:name="android.intent.action.CREATE_SHORTCUT" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
我在它的java代码中得到的是:
public class ShortcutCreatorActivity extends Activity
{
@Override
protected void onCreate(final Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
final Intent shortcutIntent=new Intent("com.my_app.MyActivity");
final ShortcutIconResource iconResource=Intent.ShortcutIconResource.fromContext(this,R.drawable.ic_launcher);
final Intent intent=new Intent();
intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT,shortcutIntent);
intent.putExtra(Intent.EXTRA_SHORTCUT_NAME,"Shortcut Test");
intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,iconResource);
setResult(RESULT_OK,intent);
Toast.makeText(this,"shortcut created",Toast.LENGTH_SHORT).show();
finish();
}
}
然而,当我点击快捷方式和日志时,我一直收到“找不到应用程序”的相同消息:
ActivityManager(232): Starting: Intent { act=com.my_app.MyActivity flg=0x10200000 bnds=[80,150][160,250] } from pid 3956
谁能帮帮我?缺什么? 我还为清单中的 MyActivity 活动尝试了一些意图过滤器。没有任何帮助...
@liro 我认为这并不重要,因为我已经指定了类的确切完整路径,包括包名。
大家好,如果你有一个可行的项目,那就完美了。
【问题讨论】:
-
你的应用包名是什么?除了 ShortcutCreatorActivity 还有其他类吗?
标签: android android-activity shortcut launcher