2012-07-03 61 views
0

我開始構建我的api 13應用程序,因爲我認爲它對於大多數用戶來說可能足夠高效。 但是我改成了API 10 然後將以下代碼停止工作`無法根據聯繫人的姓名獲得uri

   String empName=data.getStringExtra("name"); 
      String hourPay=data.getStringExtra("hourPay"); 
      String key=""; 
      String id=""; 

      Uri lookupUri = Uri.withAppendedPath(ContactsContract.Contacts.CONTENT_FILTER_URI, empName); 
      Cursor idCursor = getContentResolver().query(lookupUri, null, null, null, null);     

      idCursor.moveToFirst(); 
      id = idCursor.getString(idCursor.getColumnIndex(ContactsContract.Contacts._ID)); 
      key = idCursor.getString(idCursor.getColumnIndex(ContactsContract.Contacts.LOOKUP_KEY));` 

的問題是,它還是用英文寫的聯繫人姓名是剛纔的域名(不姓)中的那些

只能

例如: 它適用於以下聯繫人: 快速服務, 喬治, 瑪麗亞Mpakou, Σοφια, 由於語言之間沒有區別

但是當用我的語言(希臘語)編寫聯繫人並且有空間時(例如ΑιμιλιοςΔημιος),它會返回索引超出範圍的下方光標。

當我第一次嘗試在api 13工作就像一個魅力。 順便說一句,我的Android.Manifest有utf-8編碼,如果這有什麼關係 請任何recomendation將bw helpfull。 感謝

回答

0

很多搜​​索後我終於用不同的方式做到了......就像問一個SQL查詢到所有聯繫人

下面是代碼:

String empName=data.getStringExtra("name"); 
Cursor idCursor = getContentResolver().query(     
ContactsContract.Contacts.CONTENT_URI,null,Contacts.DISPLAY_NAME+" = '"+empName+"'", null, null); 

這工作就像一個魅力!

相關問題