【问题标题】:How can I receive send and recieve multiple data with an implicit intent?如何以隐式意图接收发送和接收多个数据?
【发布时间】:2014-07-08 19:55:24
【问题描述】:

我正在从一个活动向另一个活动发送隐式意图,并且我想发送一些字符串变量。我这样做是出于隐含意图,因为我希望在多个项目中使用活动 B,它是库项目的一部分。

我的意图工作正常,但在活动 B 中没有读取额外的数据。

这是我在 Activity A 中创建意图的代码:

    Intent intent = new Intent(this, ShareResultsActivity.class);
    intent.putExtra(EMAIL_SUBJECT, "Results");//String
    intent.putExtra(RESULTS_SAVENAME, saveName);//String
    intent.putExtra(RESULTS_BODY, body);//String
    intent.putExtra(WITH_SAVE_BUTTON, withSaveButton);//Boolean
    startActivity(intent);

在活动 B 中:

    Bundle extras = getIntent().getExtras();

    Boolean withSaveButton = true;

    if(extras != null){
        emailSubject = extras.getString("EMAIL_SUBJECT");
        resultsSaveName = extras.getString("RESULTS_SAVENAME");
        resultsBody = extras.getString("RESULTS_BODY");
        withSaveButton = extras.getBoolean("WITH_SAVE_BUTTON", true);
    }

这不起作用,字符串变量为空。

我也尝试过以明确意图接收数据的方式来做到这一点:

    Intent intent = getIntent();

    emailSubject = intent.getStringExtra("EMAIL_SUBJECT");
    resultsSaveName = intent.getStringExtra("RESULTS_SAVENAME");
    resultsBody = intent.getStringExtra("RESULTS_BODY");
    Boolean withSaveButton = intent.getBooleanExtra("WITH_SAVE_BUTTON", true);

但这也不起作用。

我可以让它工作的唯一方法是如果我在 getStringExtra 中引用发送活动,但我不能这样做,因为它应该是一个库类。

任何人都可以对此有所了解吗?还是我以错误的方式处理这个问题?

【问题讨论】:

  • EMAIL_SUBJECT 变量的值是多少?
  • 我是个白痴,我的活动 B 应该寻找相同的值。如果你给我一个答案,我会接受它,谢谢!

标签: java android android-intent android-activity implicit


【解决方案1】:

我假设你的代码是这样的:

final static String EMAIL_SUBJECT = "email_subject";
//  RESULTS_SAVENAME and others are the same style.
Intent intent = new Intent(this, ShareResultsActivity.class);
intent.putExtra(EMAIL_SUBJECT, "Results");//String
startActivity(intent);

然后在你的另一个活动中:

Intent intent = getIntent();
emailSubject = intent.getStringExtra("email_subject");
// or this
// emailSubject = intent.getStringExtra(EMAIL_SUBJECT);

【讨论】:

    【解决方案2】:

    请使用密钥,在两个活动中它应该是相同的。我清楚地看到两个活动中键名的命名约定有所不同。如果键名相同,则数据不应该通过。

    【讨论】:

      猜你喜欢
      • 2014-03-20
      • 2019-07-24
      • 1970-01-01
      • 1970-01-01
      • 2011-09-13
      • 1970-01-01
      • 2020-04-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多