【发布时间】:2014-05-12 12:45:06
【问题描述】:
在我的我有两个活动,每个活动都有一个按钮说Add to Home Screen。
当用户点击此按钮时,我正在为我的应用创建一个快捷方式,该快捷方式将打开将其添加到主屏幕的特定 Activity。
在创建快捷方式时,我想在 Intent 中添加一些额外的数据,以调用特定的 Activity。为此,我使用以下代码:
final Intent shortcutIntent = new Intent(this, MainActivity.class);
char CharData[] = new char[5];
Arrays.fill(CharData,'1');
shortcutIntent.putExtra("Extra", CharData);
final Intent intent = new Intent();
intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.First_Shortcut_Title));
intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,Intent.ShortcutIconResource.fromContext(this, R.drawable.red));
intent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
sendBroadcast(intent);
由此,我可以在主屏幕上创建快捷方式并根据需要导航到相应的活动。我面临的问题是,当我尝试在 Activity 午餐时从 Intent 获取额外数据时,它总是返回 Null。
Intent CallingIntent = getIntent();
char[] IntentData = CallingIntent.getCharArrayExtra("Extra");
即IntentData 的值始终为 NULL。
谁能建议我做错了什么?
我用String 代替char[] 数组尝试了类似的事情,它工作正常。数组实现可能有什么问题?
【问题讨论】:
-
是密钥
shape?匹配吗? -
实际上我在提问时错误地输入了错误的键。我现在已经纠正了我的问题。在代码中,两个键都匹配,但仍然无法正常工作。