私は Android を初めて使用します。ここで私の問題を解決してください。
私は連絡先を取得するためのアプリケーションを開発していますが、私のアプリでは、サービスで連絡先を取得する必要があり、そのサービスは5分ごとに呼び出す必要があります...ここでの活動では、連絡先を直接取得する可能性があります..私は試しましたサービス中の連絡先を取得するためですが、解決策が得られませんでした..
機会があるかどうか教えてください。サービスで連絡先を取得する他の方法はありますか?
私は Android を初めて使用します。ここで私の問題を解決してください。
私は連絡先を取得するためのアプリケーションを開発していますが、私のアプリでは、サービスで連絡先を取得する必要があり、そのサービスは5分ごとに呼び出す必要があります...ここでの活動では、連絡先を直接取得する可能性があります..私は試しましたサービス中の連絡先を取得するためですが、解決策が得られませんでした..
機会があるかどうか教えてください。サービスで連絡先を取得する他の方法はありますか?
連絡先を取得するには、このコードスニペットを参照してください。
Cursor cursor = mContentResolver.query(
RawContacts.CONTENT_URI,
new String[]{RawContacts._ID,RawContacts.ACCOUNT_TYPE},
RawContacts.ACCOUNT_TYPE + " <> 'com.anddroid.contacts.sim' "
+ " AND " + RawContacts.ACCOUNT_TYPE + " <> 'com.google' " //if you don't want to google contacts also
,
null,
null);
これがあなたのための完全なプログラムです............
package com.example.android.contactmanager;
import android.app.Activity;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.provider.ContactsContract.RawContacts;
import android.util.Log;
public final class ContactManager extends Activity{
/**
* Called when the activity is first created. Responsible for initializing the UI.
*/
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
printContactList();
}
/**
* Print contact data in logcat.
* SIM : Account_Type = com.anddroid.contacts.sim
* Phone : Depends on the manufacturer e.g For HTC : Account_Type = com.htc.android.pcsc
* Google : Account_Type = com.google
*/
private void printContactList() {
Cursor cursor = getContacts();
cursor.moveToFirst();
while (cursor.isAfterLast() == false) {
Log.d("Display_Name", cursor.getString(cursor.getColumnIndex(ContactsContract.Data.DISPLAY_NAME)));
Log.d("Account_Type", cursor.getString(cursor.getColumnIndex(RawContacts.ACCOUNT_TYPE)));
cursor.moveToNext();
}
}
/**
* Obtains the contact list for the currently selected account.
*
* @return A cursor for for accessing the contact list.
*/
private Cursor getContacts()
{
// Run query
Uri uri = ContactsContract.Data.CONTENT_URI;
String[] projection = new String[] {
ContactsContract.Contacts._ID,
ContactsContract.Contacts.DISPLAY_NAME,
RawContacts.ACCOUNT_TYPE
};
String[] selectionArgs = null;
String sortOrder = ContactsContract.Contacts.DISPLAY_NAME + " COLLATE LOCALIZED ASC";
return managedQuery(uri, projection, null, selectionArgs, sortOrder);
}
}