标签: android-contacts

在Android上通过电话号码联系

我知道如何在Android中获取所有联系人,以及如何获取他们的电话号码.

我似乎无法弄清楚如何通过电话号码联系...

这是我编写的当前代码,用于测试哪些电话号码可用:

// Create a cursor
    Cursor cursor = Base.contentResover().query(Phone.CONTENT_URI, null, null,
            null, null);

    if (cursor.moveToNext()) {
        Log.d("CALLOG", cursor.getString(cursor.getColumnIndexOrThrow(Phone.NUMBER)));
    }
Run Code Online (Sandbox Code Playgroud)

问题是我只收到一些电话号码,而我希望得到所有...我做错了什么?

android cursor phone-number android-contacts

0
推荐指数
1
解决办法
7263
查看次数

访问联系人姓名,号码和电子邮件ID?

我正在尝试使用以下代码访问联系人姓名和电子邮件ID:

import android.app.Activity;
import android.content.ContentResolver;
import android.database.Cursor;
import android.os.Bundle;
import android.provider.ContactsContract;

public class GetAllDatas extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    readContacts();
}   

private void readContacts() {
    // TODO Auto-generated method stub

    ContentResolver cr = getContentResolver();
    Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI,
           null, null, null, null);
    if (cur.getCount() > 0) {
        while (cur.moveToNext()) {
            String id = cur.getString(cur.getColumnIndex(ContactsContract.Contacts._ID));
            String name = cur.getString(cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
            if (Integer.parseInt(cur.getString(cur.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0) {
                System.out.println("name : …
Run Code Online (Sandbox Code Playgroud)

android android-contacts

0
推荐指数
1
解决办法
4278
查看次数

使用CursorLoader获取所有者的电子邮件地址

我正在尝试用所有者的电子邮件填充ArrayList.我是在一个片段中这样做的.这是我的代码:

 public class ItemDetailFragment extends Fragment implements
        LoaderManager.LoaderCallbacks<Cursor> {

    ArrayList<String> emails = new ArrayList<String>();

    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        getLoaderManager().initLoader(0, null, this);

    }


        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
                View myFragmentView = inflater.inflate(R.layout.formal_email_layout,
                                container, false);
                return myFragmentView;
       }


 public Loader<Cursor> onCreateLoader(int id, Bundle arguments) {
            return new CursorLoader(getActivity(),
                    // Retrieve data rows for the device user's 'profile' contact.
                    Uri.withAppendedPath(
                            ContactsContract.Profile.CONTENT_URI,
                            ContactsContract.Contacts.Data.CONTENT_DIRECTORY),
                    ProfileQuery.PROJECTION,

                    // Select only email addresses.
                    ContactsContract.Contacts.Data.MIMETYPE + " = ?",
                    new String[]{ContactsContract.CommonDataKinds.Email.CONTENT_ITEM_TYPE}, …
Run Code Online (Sandbox Code Playgroud)

email android android-contacts android-cursorloader

0
推荐指数
1
解决办法
1622
查看次数

使用Phonegap 3联系人插件的java.lang.ClassNotFoundException

我有下一个问题.我试图找到解决方案,但我没有找到任何解决我的问题.

我是phonegap开发的新手,我正在做一些"测试".现在,我想在智能手机中显示所有联系人.

按照此处输入链接描述,首先我添加插件:cordova插件添加https://git-wip-us.apache.org/repos/asf/cordova-plugin-contacts.git

但是我使用的是phonegap而不是cordova.

接下来我添加:(在app/res/xml/config.xml中)

<feature name="Contacts">
    <param name="android-package" value="org.apache.cordova.ContactManager" />
</feature>
Run Code Online (Sandbox Code Playgroud)

(在app/AndroidManifest.xml中)

<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
Run Code Online (Sandbox Code Playgroud)

最后,我使用了完整的例子.

但是,当我启动App时,Eclipse中出现了下一个错误: 在此输入图像描述 我不知道如何解决这个问题:S

谢谢你的时间!

android-contacts phonegap-plugins cordova

0
推荐指数
1
解决办法
4778
查看次数

Android T9搜索联系人(智能拨号器)

我想实现T9搜索,例如android native Dialer或TrueCaller Dialer。我到目前为止所取得的成就是:

将击键转换为字符串模式,例如,如果我在拨号程序上按2,它将给我-“ abc”“ ac”“ ca”等

现在我查询

字符串选择= Utility.getSelectionLikeWithIn(mmemonics);

游标查询= getContentResolver()。query(ContactsContract.Contacts.CONTENT_URI,null,selection,null,null);'

公共静态字符串getSelectionLikeWithIn(List mmemonics){

    String selection = "";
    for (int i = 0; i < mmemonics.size(); i++) {
        selection = selection + " display_name LIKE '";
        selection = selection + mmemonics.get(i);

        if (i == mmemonics.size() - 1){
            selection = selection + "%'";


        }else {
            selection = selection + "%' OR";
        }
    }
    return selection;
}'
Run Code Online (Sandbox Code Playgroud)

上面的方法将字符串的Arraylist转换为where子句

其中display_name喜欢'ab%'或display_name喜欢'abc%'等等……

好吧,这给了我效率低下的结果,并且由于复杂的查询而导致应用程序崩溃.....

请建议我如何执行查询以像我的击键一样进行匹配,或者以其他方式在ContactsProvider中进行匹配以执行此类智能搜索

android contactscontract android-contacts

0
推荐指数
1
解决办法
784
查看次数

联系权限不从应用程序中删除

我正在研究android应用程序,我已从我的应用程序中删除了Contact Permission.但它仍然在App Settings中显示.下面是我声明的权限列表,如何跟踪为什么仍然在移动设备的应用程序设置中显示联系人权限.

<uses-permission android:name="android.permission.CALL_PHONE" />
    <uses-permission android:name="android.permission.SEND_SMS" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.GET_TASKS" />
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.SET_DEBUG_APP"/>
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <!-- If c2dm permission is removed, parse starts working, else c2dm takes control -->
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />

    <permission
        android:name="com.responder.murgency.permission.C2D_MESSAGE"
        android:protectionLevel="signature" />
Run Code Online (Sandbox Code Playgroud)

permissions android android-contacts

0
推荐指数
1
解决办法
665
查看次数