【问题标题】:how to create a shortcut which leads to a non-launcher activity?如何创建导致非启动器活动的快捷方式?
【发布时间】:2011-06-08 10:03:40
【问题描述】:

我想在 android 应用程序中创建一个快捷方式,它会导致另一个不是应用程序启动器的活动。

【问题讨论】:

    标签: android shortcut


    【解决方案1】:

    要创建快捷方式本身,您需要一个特制的活动,该活动必须:

    • 在您的 AndroidManifest.xml 中定义一个带有操作 android.intent.action.CREATE_SHORTCUT 的意图过滤器。
    • 返回一个结果,一个 Intent,包含您的实际快捷方式。快捷方式本身由另一个 Intent 表示。

    当您长按桌面并选择“快捷方式”时,此活动将显示出来。

    当然,快捷方式本身并没有多大用处,因此您必须将意图过滤器添加到您希望由快捷方式触发的任何活动中。意图过滤器应该与您为快捷方式选择的任何意图相匹配。

    我写了一个关于这个主题的小指南,里面有更多细节:http://www.kind-kristiansen.no/2010/android-adding-desktop-shortcut-support-to-your-app/

    如果该帖子中有任何不清楚的地方,请告诉我,我会尽力解决。

    【讨论】:

    • @rogerkk,请帮我解决我的问题。 stackoverflow.com/questions/21371491/…
    • 对不起@androidBoomer,我最近没有真正做过任何Android开发,所以我现在可能不是合适的人选。 :)
    • 有没有办法直接从应用程序内部创建主屏幕的快捷方式?我有一个通过getData() 提供数据的应用程序,用户可以有多个图标来显示每个图标。这个想法是用户使用自己的数据创建自己的应用程序快捷方式(特别是,他不能按照您的方法需要编辑清单)。谢谢!
    • 谁能告诉我如何禁用创建使用上述方法创建的重复快捷方式。
    • 非常感谢,我在谷歌上找不到关于这个主题的任何内容
    【解决方案2】:

    我在下面开发了一种在 android 主屏幕上创建快捷方式图标的方法。直接调用吧。

    private void ShortcutIcon(){
    
        Intent shortcutIntent = new Intent(getApplicationContext(), MainActivity.class);
        shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    
        Intent addIntent = new Intent();
        addIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
        addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "Test");
        addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, Intent.ShortcutIconResource.fromContext(getApplicationContext(), R.drawable.ic_launcher));
        addIntent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
        getApplicationContext().sendBroadcast(addIntent);
    }
    

    不要忘记更改您的活动名称,图标资源。编码快乐!!!

    【讨论】:

    • 即使在更改名称和图标之后,在我的情况下,您的方法也不会出现图标。
    • 别忘了像这样添加权限INSTALL_SHORTCUT
    猜你喜欢
    • 2011-10-23
    • 2011-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-03
    相关资源
    最近更新 更多