作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在尝试做一些在下一个链接中简要描述的事情:
意思是,我有一个甚至可以在另一个应用程序上的 Activity (但现在让我们专注于我的应用程序拥有的 Activity ),我希望能够创建它的快捷方式。
对于术语,假设创建快捷方式的 Activity 名为“ShortcutCreatorActivity”,启动的 Activity 为“MyActivity”。
我从所写的内容中得到的是 ShortcutCreatorActivity 应该在 list 中定义为:
<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
谁能帮帮我?缺什么?我还为 list 中的 MyActivity Activity 尝试了一些 Intent 过滤器。没有任何帮助...
@liro我认为这无关紧要,因为我已经指定了该类的确切完整路径,包括包名称。
每个人,如果你有一个工作项目,那将是完美的。
最佳答案
这里不确定,但我认为您需要从“com.MyActivity”中删除“com”。
<activity android:icon="@drawable/ic_launcher"
android:label="ShortcutActivity" android:name=".ShortcutCreatorActivity">
<intent-filter>
<action android:name="android.intent.action.CREATE_SHORTCUT" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
关于android - 如何将 Activity 的快捷方式放入启动器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8041443/
我是一名优秀的程序员,十分优秀!