Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java android联系人号码比较_Java_Android_String_Contacts - Fatal编程技术网

Java android联系人号码比较

Java android联系人号码比较,java,android,string,contacts,Java,Android,String,Contacts,我正在尝试从我已经完成的电话中检索电话号码,然后将这些号码与在线php/sql数据库进行比较 一切都很好,除了我有一个数字,即使我知道它在那里,也不会正确匹配。我曾尝试在android中仅使用.equals(“相同的数字”)测试该数字,结果返回false,即使print语句相同。我肯定已经删除了号码中的所有空白 有人知道为什么从电话联系人中提取的数字不是真正的字符串,或者有其他想法吗!!??我也试过了。toString(),但这没用 下面是我用来测试从带有硬编码的相关ID的触点中提取的号码的代码

我正在尝试从我已经完成的电话中检索电话号码,然后将这些号码与在线php/sql数据库进行比较

一切都很好,除了我有一个数字,即使我知道它在那里,也不会正确匹配。我曾尝试在android中仅使用.equals(“相同的数字”)测试该数字,结果返回false,即使print语句相同。我肯定已经删除了号码中的所有空白

有人知道为什么从电话联系人中提取的数字不是真正的字符串,或者有其他想法吗!!??我也试过了。toString(),但这没用

下面是我用来测试从带有硬编码的相关ID的触点中提取的号码的代码。电话号码按预期返回,并显示在日志输出中。当我尝试将它与相同内容的字符串进行比较时,它返回一个false!我不明白

Cursor pCur = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
                new String[] {ContactsContract.CommonDataKinds.Phone.NUMBER},
                ContactsContract.Data.CONTACT_ID+" = 148" , null, null);
                while (pCur.moveToNext()) {
                    tempNum=pCur.getString(0).toString();

                    tempNum=tempNum.trim();
                    tempNum=tempNum.replaceAll("\\s+","");

                } 
               Log.d("tempNum = ", tempNum); //confirm tempNum is as expected
               if(tempNum.equals("07594*****0"))Log.d("test","Match!");
               //number removed after paste to forum
               else Log.d("test","No Match!");

我的建议是在log.d中打印整个数组(我猜您将它存储在一个数组中),然后查看它是否存在。这是一个提示,当你处于某种情况下,不知道如何解决时,可以帮助你理清思路。

你需要向我们显示你的代码、电话簿中的号码以及数据库中的号码。谢谢,我已经尝试过了,一切看起来都完全正常!正如我刚才编辑的那样,这两个看似相同的字符串在.equals比较中不会返回true,真奇怪@Jmcg我也不知道如何解决这个问题,但我还有一个技巧,那就是创建一个新的android项目,并在您遇到问题的地方创建一个sql数据库。这将使情况更加清楚,也许那时它确实起作用了。旁注:也许你的数据库中有什么(我不知道是什么)错误,是什么导致了这种影响。