Android意图包总是空的?

时间:2011-11-11 16:51:17

标签: java android

我正在运行以下代码。有两个片段。第一个是我如何设置捆绑,第二个是我如何检索它。出于某种原因,每次检查捆绑包时,它都会返回null。

对于为什么会这样做或者我做错了什么建议我将不胜感激。

    Intent intent = new Intent(this, com.hom.app.Hom.class);
        Bundle b = new Bundle();
        b.putString("WELL", "yes");
        intent.putExtras(b);
    startActivity(intent);

检索捆绑包:

    String well ="";
    Bundle bun = getIntent().getExtras();
    String standard = "yes";
    if(bun != null){       
        Log.v("Bundle", "Contains data");
        well = bun.getString("WELL");
        if(well == null) well = "";
        if(well == standard) method();
    }   

3 个答案:

答案 0 :(得分:3)

当你创建你的意图时,只需将附加内容放在那里。您正尝试在上面的代码中访问错误的包。这样的事情应该有效。

    Intent intent = new Intent(this, com.hom.app.Hom.class);
    intent.putExtras("WELL", "yes");
    startActivity(intent);

答案 1 :(得分:1)

不知道为什么它会返回null,但是即使捆绑包正确通过你的代码也不行,因为你正在用==

进行字符串比较

这一行:

        if(well == standard) method();

应该是

        if(well.equals(standard)) method();

答案 2 :(得分:1)

来自documentation

  

密钥必须包含包前缀,例如app com.android.contacts将使用“com.android.contacts.ShowAll”这样的名称。

所以相反,你为什么不使用

intent.putExtra("WELL", "yes");