即使联系人中列出的电话号码已加星标,以下结果始终会返回true,为什么?
public static boolean IsStarred(Context myContext,String address){
boolean result=false;
if (address.trim().length() >= 1) {
Uri uri = Uri.parse("content://com.android.contacts/phone_lookup");
String[] projection = new String[] { "display_name" };
uri = Uri.withAppendedPath(uri, Uri.encode(address));
Cursor cursor = myContext.getContentResolver().query(uri,
projection, "starred=?", new String[] {"1"}, null);
if (cursor.moveToFirst()) {
result = true;
Toast.makeText(myContext,cursor.getString(0)+ "True",Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(myContext, "False",Toast.LENGTH_SHORT).show();
}
cursor.close();
}
return result;
}
答案 0 :(得分:1)
提供完整的工作代码需要很长的答案,这通常超出了本网站的范围。
我建议您尝试将此要求划分为其组件。如果您想知道来电是否来自已加星标的联系人,那就意味着:
如果您在实施此解决方案时遇到特定问题,请发布更详细的问题。