【问题标题】:Fetching extra char[] data from the Intent returns null从 Intent 中获取额外的 char[] 数据返回 null
【发布时间】: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?匹配吗?
  • 实际上我在提问时错误地输入了错误的键。我现在已经纠正了我的问题。在代码中,两个键都匹配,但仍然无法正常工作。

标签: android android-intent


【解决方案1】:

在检索数组数据时,您的密钥错误。

错误的值是:

 char[] IntentData = CallingIntent.getCharArrayExtra("shape");

正确的值为:

 char[] IntentData = CallingIntent.getCharArrayExtra("Extra");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 2014-01-06
    • 2023-01-30
    • 2013-01-11
    • 2014-11-16
    • 1970-01-01
    • 2022-10-24
    相关资源
    最近更新 更多