从快捷方式intent返回时更新活动变量

时间:2014-05-20 16:30:02

标签: android android-intent

我在我的应用中创建了一个快捷方式,并在主屏幕上成功创建了快捷方式。 当我单击快捷方式时,我希望能够更新与快捷方式名称对应的一个活动变量。我该怎么做?我如何知道如果我从意图返回?以及我如何得到意图的名字? 这是我的添加快捷键功能:

private void addShortcut() {
        // Adding shortcut for MainActivity
        // on Home screen
        Intent shortcutIntent = new Intent(GroupChat.this, SignUp.class);
        shortcutIntent.setAction(Intent.ACTION_MAIN);
        Intent addIntent = new Intent();
        addIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
        addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, groupName);
        addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,
                Intent.ShortcutIconResource.fromContext(GroupChat.this,
                        R.drawable.contact));
        addIntent.putExtra("duplicate", false);
        addIntent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");

        GroupChat.this.sendBroadcast(addIntent);
    }

非常感谢! :)

1 个答案:

答案 0 :(得分:0)

在不知道你实际想做什么的情况下,你可以在意图中使用第一个意图传递带有额外内容的变量。

shortcutIntent.putExtra("NameOfVariable","input");

由于您的应用只会使用您的快捷方式中的参数启动,因此您可以根据自己的意图判断是否有参数。

Intent intent = context.getActivity().getIntent();
String var=intent.getStringExtra("NameOfVariable");

如果您是从快捷方式来的,而不是从普通图标启动时,这将为您提供价值。