Intent.getIntExtra()行为在虚拟设备和真实设备上发生变化

时间:2011-07-05 10:51:11

标签: java android

我有以下代码,并通过Eclipse虚拟设备在我的计算机上运行正常。但是当安装在真实手机上时,它总是会恢复到else语句。 此活动并不总是传递一个值,如果不是,我想要一个随机记录出现。感谢您提供任何帮助或建议以及阅读时间。

    searchId = getIntent().getIntExtra("EMPLOYEE_ID", 0);

    if(searchId > 0){
        Query="SELECT * FROM " + DB_TABLE +" ORDER BY RANDOM() LIMIT 1";
        Log.v("STANDARD RANDOM", "Was run");
    }
    else{   
        Query ="SELECT * FROM " + DB_TABLE +" WHERE _id=" + searchId + "";

        Log.v("FROM SEARCH PAGE", "Was run");
    }

1 个答案:

答案 0 :(得分:0)

不确定这是否可以解决您的问题。但根据文档,您的代码不正确:

  

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

取自Intent.putExtra

您使用的是“EMPLOYEE_ID”,没有包裹前缀,但必须包含一个!