显示与复选框的联系人列表?

显示与复选框的联系人列表?

问题描述:

我正在开发一个android项目,我想创建一个拦截入站调用的应用程序。如何在联系人列表中分配一个复选框,以便能够选择多个联系人一次?显示与复选框的联系人列表?

这里是我的代码:

//主要活动

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

     add = (Button)findViewById(R.id.add_reminder); 
     manage = (Button)findViewById(R.id.manage_reminders); 
     add.setOnClickListener(this); 
     manage.setOnClickListener(this); 


    } 
    public void onClick(View v) { 
     switch(v.getId()) 
     { 
     case R.id.manage_reminders: 

      break; 
     case R.id.add_reminder: 
      Intent intent = new Intent(Intent.ACTION_PICK); 
       intent.setType(ContactsContract.Contacts.CONTENT_TYPE); 
       startActivityForResult(intent, PICK_CONTACT); 


      break; 

     } 


    } 
    public void onActivityResult(int requestCode, int resultCode, Intent intent) 
     { 

      if (requestCode == PICK_CONTACT) 
      {   
       Cursor cursor = managedQuery(intent.getData(), null, null, null, null); 
       cursor.moveToNext(); 
       String contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID)); 
       String name = cursor.getString(cursor.getColumnIndexOrThrow(ContactsContract.Contacts.DISPLAY_NAME)); 

       Toast.makeText(this, "Contect LIST = "+name, Toast.LENGTH_LONG).show(); 
      } 
     }//onActivityResult 

} 

看看这里:http://www.krvarma.com/2010/08/detecting-incoming-and-outgoing-calls-in-android/

只是要侦听的广播接收器:

android.intent.action.PHONE_STATE 

如果电话状态为“振铃”,则有来电。

TelephonyManager.EXTRA_STATE 

像:

public class IncomingCallReceiver extends BroadcastReceiver { 

    @Override 
    public void onReceive(Context context, Intent intent) { 
      Bundle bundle = intent.getExtras(); 

      if(null == bundle) 
        return; 

      String state = bundle.getString(TelephonyManager.EXTRA_STATE); 

      if(state.equalsIgnoreCase(TelephonyManager.EXTRA_STATE_RINGING)) 
      { 
        String phonenumber = bundle.getString(TelephonyManager.EXTRA_INCOMING_NUMBER); 

        Log.i("IncomingCallReceiver","Incoming Number: " + phonenumber); 
      } 
    } 
} 

现在的电话号码将在logcat的打印。

+0

请提出一个简单的代码吗? PLZ。我需要创建一个呼叫提醒。所以我需要在有人打电话时先打印电话号码。 – user1222905 2012-03-27 08:26:44

+0

希望这有助于。您只需要注册广播接收器。随着:RegisterReceiver(IncomingCallReceiver,* yourIntentFilter *) – 2012-03-27 08:34:35

+0

thx非常感谢您的帮助。我要去测试它。我怎样才能将提醒提醒给一个号码?我是否必须创建一个列表并为每个号码分配一条文本消息。当我有一个来电时,我只是用显示的号码发送消息? – user1222905 2012-03-27 08:40:34