1

在我的代碼中,我試圖訪問聯繫人的地方(在模擬器中,所以是的,真的沒有聯繫人訪問,但我認爲它會「僞造」一些製造的),我的應用程序翻轉或觸發器在進入Debug透視圖中的Eclipse和logcat的告訴我:「聯繫人」是否可通過仿真器使用?

應用:com.google.process.gapps 標籤:GTalkService 文字:EVENT_GSERVICES_CHANGED:NO GTALK連接!

如果這是預期的,那麼解決方法是什麼? 如果不能預期,我的失敗會是什麼?

按照要求,我的代碼截至目前:

import android.app.AlertDialog; 
import android.app.ListActivity; 
import android.database.Cursor; 
import android.os.Bundle; 
import android.provider.ContactsContract; 
import android.view.View; 
import android.widget.AdapterView; 
import android.widget.SimpleCursorAdapter; 

public class ContactsActivity extends ListActivity implements AdapterView.OnItemClickListener { 

    Cursor mContacts; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     // Return all contacts, ordered by name 
     String[] projection = new String[] { ContactsContract.Contacts._ID, 
       ContactsContract.Contacts.DISPLAY_NAME }; 
     mContacts = managedQuery(ContactsContract.Contacts.CONTENT_URI, 
       projection, null, null, ContactsContract.Contacts.DISPLAY_NAME); 

     // Display all contacts in a ListView 
     SimpleCursorAdapter mAdapter = new SimpleCursorAdapter(this, 
       android.R.layout.simple_list_item_1, mContacts, 
       new String[] { ContactsContract.Contacts.DISPLAY_NAME }, 
       new int[] { android.R.id.text1 }); 
     setListAdapter(mAdapter); 
     // Listen for item selections 
     getListView().setOnItemClickListener(this); 
    } 

    @Override 
    public void onItemClick(AdapterView<?> parent, View v, int position, long id) { 
     if (mContacts.moveToPosition(position)) { 
      int selectedId = mContacts.getInt(0); // _ID column 
      // Gather email data from email table 
      Cursor email = getContentResolver().query(
        ContactsContract.CommonDataKinds.Email.CONTENT_URI, 
        new String[] { ContactsContract.CommonDataKinds.Email.DATA }, 
        ContactsContract.Data.CONTACT_ID + " = " + selectedId, null, null); 
      // Gather phone data from phone table 
      Cursor phone = getContentResolver().query(
        ContactsContract.CommonDataKinds.Phone.CONTENT_URI, 
        new String[] { ContactsContract.CommonDataKinds.Phone.NUMBER }, 
        ContactsContract.Data.CONTACT_ID + " = " + selectedId, null, null); 
      // Gather addresses from address table 
      Cursor address = getContentResolver().query(
        ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_URI, 
        new String[] { ContactsContract.CommonDataKinds.StructuredPostal.FORMATTED_ADDRESS }, 
        ContactsContract.Data.CONTACT_ID + " = " + selectedId, null, null); 

      //Build the dialog message 
      StringBuilder sb = new StringBuilder(); 
      sb.append(email.getCount() + " Emails\n"); 
      if (email.moveToFirst()) { 
       do { 
        sb.append("Email: " + email.getString(0)); 
        sb.append('\n'); 
       } while (email.moveToNext()); 
       sb.append('\n'); 
      } 
      sb.append(phone.getCount() + " Phone Numbers\n"); 
      if (phone.moveToFirst()) { 
       do { 
        sb.append("Phone: " + phone.getString(0)); 
        sb.append('\n'); 
       } while (phone.moveToNext()); 
       sb.append('\n'); 
      } 
      sb.append(address.getCount() + " Addresses\n"); 
      if (address.moveToFirst()) { 
       do { 
        sb.append("Address:\n" + address.getString(0)); 
       } while (address.moveToNext()); 
       sb.append('\n'); 
      } 

      AlertDialog.Builder builder = new AlertDialog.Builder(this); 
      builder.setTitle(mContacts.getString(1)); // Display name 
      builder.setMessage(sb.toString()); 
      builder.setPositiveButton("OK", null); 
      builder.create().show(); 

      // Finish temporary cursors 
      email.close(); 
      phone.close(); 
      address.close(); 
     } 
    } 
} 
+0

燦您發佈了用於訪問聯繫人的代碼? – joshhendo 2012-01-05 03:36:29

+0

好的,我編輯了上面的帖子,添加了代碼。 – 2012-01-06 03:22:27

回答

1

使用AVD與目標設置爲谷歌的API(谷歌公司) - API級別<平臺版本>

enter image description here

+0

所以這是另一半的生活方式(我假設這是Macintosh版本 - 它幾乎肯定不是Windows) – 2012-01-06 03:24:23

+0

我仔細檢查過,確實已經設置爲使用Google AVD,但版本10不是14. logcat的miaowed像這樣: ... [2012-01-05 21點29分07秒 - KeepInTouch]試圖調試器連接到「com.aXX3AndSpace.KeepInTouch」在端口8625 似乎掛在最後一行;在ContactActivity的早期我有兩個斷點沒有達到,但我不知道爲什麼...... – 2012-01-06 03:37:42

相關問題