2015-04-23 3 views
1

Я новичок в программировании на Android. Я не могу вызвать средство выбора контактов из своей деятельности. Я упомянул много учебников, отформатировал свой код, но не получил никакого результата.Не можете использовать Contact Picker

Код для MainActivity.java является: -

package com.example.intents; 


import android.app.Activity; 
import android.content.Intent; 
import android.net.Uri; 
import android.os.Bundle; 
import android.provider.Contacts; 
import android.view.Menu; 
import android.view.MenuInflater; 
import android.view.MenuItem; 
import android.view.View; 

public class MainActivity extends Activity { 


    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 


    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     MenuInflater mi=getMenuInflater(); 
     mi.inflate(R.menu.main, menu); 
     return true; 
    } 

    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     // Handle action bar item clicks here. The action bar will 
     // automatically handle clicks on the Home/Up button, so long 
     // as you specify a parent activity in AndroidManifest.xml. 
     int id = item.getItemId(); 
     if (id == R.id.action_settings) { 
      return true; 
     } 

     return super.onOptionsItemSelected(item); 
    } 

    public void invokeForRes(View view) 
    { 
     Intent in=new Intent(Intent.ACTION_PICK,Contact.Contacts.CONTENT_URI); 

     startActivityForResult(in, 1); 
    } 

} 

Пожалуйста, помогите мне ....... Спасибо заранее.

+1

Где метод onActivityResult. – Yugesh

+0

Так как я новичок, я просто пытаюсь вызвать операцию выбора контактов. Просто делать это в шагах. @Yugesh – Priyank

+0

Вызывается контакт или нет. – Yugesh

ответ

2

ContactsContract.Contacts.CONTENT_URI, а не Contact.Contacts.CONTENT_URI. Последний был Android поставщик 1.x контакты, и он был заменен ContactsContract в Android 2.0, выпущенный в конце 2009 года

/*** 
    Copyright (c) 2008-2012 CommonsWare, LLC 
    Licensed under the Apache License, Version 2.0 (the "License"); you may not 
    use this file except in compliance with the License. You may obtain a copy 
    of the License at http://www.apache.org/licenses/LICENSE-2.0. Unless required 
    by applicable law or agreed to in writing, software distributed under the 
    License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS 
    OF ANY KIND, either express or implied. See the License for the specific 
    language governing permissions and limitations under the License. 

    From _The Busy Coder's Guide to Android Development_ 
    http://commonsware.com/Android 
*/ 

package com.commonsware.android.rotation.bundle; 

import android.app.Activity; 
import android.content.Intent; 
import android.net.Uri; 
import android.os.Bundle; 
import android.provider.ContactsContract; 
import android.view.View; 
import android.widget.Button; 

public class RotationBundleDemo extends Activity { 
    static final int PICK_REQUEST=1337; 
    Button viewButton=null; 
    Uri contact=null; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    viewButton=(Button)findViewById(R.id.view); 
    } 

    @Override 
    protected void onActivityResult(int requestCode, int resultCode, 
            Intent data) { 
    if (requestCode == PICK_REQUEST) { 
     if (resultCode == RESULT_OK) { 
     contact=data.getData(); 
     viewButton.setEnabled(true); 
     } 
    } 
    } 

    public void pickContact(View v) { 
    Intent i= 
     new Intent(Intent.ACTION_PICK, 
        ContactsContract.Contacts.CONTENT_URI); 

    startActivityForResult(i, PICK_REQUEST); 
    } 

    public void viewContact(View v) { 
    startActivity(new Intent(Intent.ACTION_VIEW, contact)); 
    } 

    @Override 
    protected void onSaveInstanceState(Bundle outState) { 
    super.onSaveInstanceState(outState); 

    if (contact != null) { 
     outState.putParcelable("contact", contact); 
    } 
    } 

    @Override 
    protected void onRestoreInstanceState(Bundle state) { 
    super.onRestoreInstanceState(state); 

    contact=state.getParcelable("contact"); 
    viewButton.setEnabled(contact != null); 
    } 
} 

(от this sample project)

+0

Это была отличная помощь, спасибо большое, . – Priyank

Смежные вопросы