我怎样才能得到他/她的号码的联系人姓名

我正在尝试使用Android脚本和Python开发一个简单的应用程序。

现在,我有一个电话号码,我想知道哪个联系人有这个号码。 我可以做一个contactsGet()和search数字,但是这么多的程序使用这个function,我认为有一个更简单的方法。

同样的问题有一个问题,但是Java有没有Python的等价物? 通过电话号码search联系人

有一个简单的方法来实现呢?

任何示例代码表示赞赏。

编辑,几天后,没有答案,我决定改变这个问题一点:什么是最好的方式来search一个数字的列表,我与contactsGet()?

Solutions Collecting From Web of "我怎样才能得到他/她的号码的联系人姓名"

这是抽象层面的一个常见问题。 该图层不会抽象您想要使用的特定function,工具或案例。 然而在这种情况下,似乎并不是所有的希望都失去了。 看来,Android脚本API是一个开源项目。 为什么不贡献一个能够为项目提供这种能力的补丁?

我可能会在未来的某个时候提供这样一个补丁,但是如果这对你很重要,那么你可以在做之前做同样的事情,并且在路上!

package com.slk.example.CursorActivity; import android.app.ListActivity; import android.content.Context; import android.database.Cursor; import android.os.Bundle; import android.provider.Contacts.Phones; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.CursorAdapter; import android.widget.TextView; public class CursorActivity extends ListActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Cursor contactsCursor = this.managedQuery(Phones.CONTENT_URI, null, null, null, null); this.setListAdapter(new MyContactsAdapter(this,contactsCursor)); } private class MyContactsAdapter extends CursorAdapter{ private Cursor mCursor; private Context mContext; private final LayoutInflater mInflater; public MyContactsAdapter(Context context, Cursor cursor) { super(context, cursor, true); mInflater = LayoutInflater.from(context); mContext = context; } @Override public void bindView(View view, Context context, Cursor cursor) { TextView t = (TextView) view.findViewById(R.id.txtName); t.setText(cursor.getString(cursor.getColumnIndex(Phones.NAME))); t = (TextView) view.findViewById(R.id.txtDisplayName); t.setText(cursor.getString(cursor.getColumnIndex(Phones.DISPLAY_NAME))); t = (TextView) view.findViewById(R.id.txtPhone); t.setText(cursor.getString(cursor.getColumnIndex(Phones.NUMBER))); } @Override public View newView(Context context, Cursor cursor, ViewGroup parent) { final View view = mInflater.inflate(R.layout.main, parent, false); return view; } } } 

你可能想看看ContactsContract数据表 。 用这样的东西来查询它:

  Cursor c = getContentResolver().query(Data.CONTENT_URI, new String[] {Data._ID, Phone.NUMBER, Phone.TYPE, Phone.LABEL}, Data.RAW_CONTACT_ID + "=?" + " AND " + Data.MIMETYPE + "='" + Phone.CONTENT_ITEM_TYPE + "'", new String[] {String.valueOf(rawContactId) }, null) 

如果还没有,可以尝试联系API: http : //developer.android.com/resources/articles/contacts.html