项目:CSipSimple
文件:Compatibility.java
public static Intent getContactPhoneIntent() {
Intent intent = new Intent(Intent.ACTION_PICK);
/*
* intent.setAction(Intent.ACTION_GET_CONTENT);
* intent.setType(Contacts.Phones.CONTENT_ITEM_TYPE);
*/
if (isCompatible(5)) {
// Don't use constant to allow backward compat simply
intent.setData(Uri.parse("content://com.android.contacts/contacts"));
} else {
// Fallback for android 4
intent.setData(Contacts.People.CONTENT_URI);
}
return intent;
}
项目:DumbphoneAssistant
文件:PhoneUtilDonut.java
public void create(Contact newPhoneContact) throws Exception {
// first,we have to create the contact
ContentValues newPhoneValues = new ContentValues();
newPhoneValues.put(Contacts.People.NAME,newPhoneContact.getName());
Uri newPhoneRow = resolver.insert(Contacts.People.CONTENT_URI,newPhoneValues);
// then we have to add a number
newPhoneValues.clear();
newPhoneValues.put(Contacts.People.Phones.TYPE,Contacts.People.Phones.TYPE_MOBILE);
newPhoneValues.put(Contacts.Phones.NUMBER,newPhoneContact.getNumber());
// insert the new phone number in the database using the returned uri from creating the contact
newPhoneRow = resolver.insert(Uri.withAppendedpath(newPhoneRow,Contacts.People.Phones.CONTENT_DIRECTORY),newPhoneValues);
// if contacts uri returned,there was an error with adding the number
if (newPhoneRow.getPath().contains("people")) {
throw new Exception(String.valueOf(R.string.error_phone_number_not_stored));
}
// if phone uri returned,everything went OK
if (!newPhoneRow.getPath().contains("phones")) {
// some unkNown error has happened
throw new Exception(String.valueOf(R.string.error_phone_number_error));
}
}
项目:DumbphoneAssistant
文件:PhoneUtilDonut.java
public Uri retrieveContactUri(Contact contact) {
String id = contact.getId();
String[] projection = new String[] { Contacts.Phones.PERSON_ID };
String path = null;
Cursor result;
if (null != id) {
Uri uri = ContentUris.withAppendedId(Contacts.Phones.CONTENT_URI,Long.valueOf(id));
result = resolver.query(uri,projection,null,null);
} else {
String selection = "name='?' AND number='?'";
String[] selectionArgs = new String[] { contact.getName(),contact.getNumber() };
result = resolver.query(Contacts.Phones.CONTENT_URI,selection,selectionArgs,null);
}
if (null != result) {
result.movetoNext();
path = result.getString(0);
result.close();
}
if (null == path) {
return null;
}
return Uri.withAppendedpath(Contacts.People.CONTENT_URI,path);
}
项目:foursquared
文件:AddressBookUtils3and4.java
@Override
public String getAllContactsPhoneNumbers(Activity activity) {
StringBuilder sb = new StringBuilder(1024);
String[] PROJECTION = new String[] {
PhonesColumns.NUMBER
};
Cursor c = activity.managedQuery(Contacts.Phones.CONTENT_URI,PROJECTION,Contacts.Phones.DEFAULT_SORT_ORDER);
if (c.movetoFirst()) {
sb.append(c.getString(0));
while (c.movetoNext()) {
sb.append(",");
sb.append(c.getString(0));
}
}
c.close();
return sb.toString();
}
项目:foursquared
文件:AddressBookUtils3and4.java
@Override
public String getAllContactsEmailAddresses(Activity activity) {
StringBuilder sb = new StringBuilder(1024);
String[] PROJECTION = new String[] {
Contacts.ContactMethods.DATA
};
Cursor c = activity.managedQuery(
Contacts.ContactMethods.CONTENT_EMAIL_URI,Contacts.ContactMethods.DEFAULT_SORT_ORDER);
if (c.movetoFirst()) {
sb.append(c.getString(0));
while (c.movetoNext()) {
sb.append(",");
sb.append(c.getString(0));
}
}
c.close();
return sb.toString();
}
项目:codenameone
文件:AndroidContactsManager.java
public String[] getContacts(Context context,boolean withNumbers) {
Vector ids = new Vector();
String selection = null;
if (withNumbers) {
selection = ContactsContract.Contacts.HAS_PHONE_NUMBER + "=1";
}
Cursor cursor = context.getContentResolver().query(ContactsContract.Contacts.CONTENT_URI,ContactsContract.CommonDataKinds.Phone.disPLAY_NAME + " ASC");
while (cursor.movetoNext()) {
String contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
ids.add(contactId);
}
cursor.close();
String[] contacts = new String[ids.size()];
for (int i = 0; i < ids.size(); i++) {
String id = (String) ids.elementAt(i);
contacts[i] = id;
}
return contacts;
}
项目:cn1
文件:AndroidContactsManager.java
public String[] getContacts(Activity context,ContactsContract.CommonDataKinds.Phone.disPLAY_NAME + " ASC");
while (cursor.movetoNext()) {
String contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
ids.add(contactId);
}
cursor.close();
String[] contacts = new String[ids.size()];
for (int i = 0; i < ids.size(); i++) {
String id = (String) ids.elementAt(i);
contacts[i] = id;
}
return contacts;
}
项目:flingtap-done
文件:LocationUtil.java
public static boolean doesUriContainLocationInfo(Context ctx,Uri uri) throws RuntimeException {
//Log.d(TAG,"uri.toString()=="+uri.toString());
final int sdkVersion = Integer.parseInt( Build.VERSION.SDK ); // Build.VERSION.SDK_INT was introduced after API level 3 and so is not compatible with 1.5 devices.
if( 5 > sdkVersion ){ // Anrdoid 1.x series code.
if(uri.toString().startsWith(android.provider.Contacts.People.CONTENT_URI.toString())){
return LocationUtil.doesContactUriContainLocationInfoSDK3(ctx,uri);
}else{
return false;
}
}else{ // Android 2.x series code.
if(uri.toString().startsWith("content://com.android.contacts/contacts/lookup")){
return LocationUtil.doesContactUriContainLocationInfoSDK5(ctx,uri);
}else{
return false;
}
}
}
项目:flingtap-done
文件:ContactsListActivity.java
static String[] getLabelsForKind(Context context,int kind) {
final Resources resources = context.getResources();
switch (kind) {
case Contacts.KIND_PHONE:
return resources.getStringArray(android.R.array.phoneTypes);
case Contacts.KIND_EMAIL:
return resources.getStringArray(android.R.array.emailAddresstypes);
case Contacts.KIND_POSTAL:
return resources.getStringArray(android.R.array.postalAddresstypes);
case Contacts.KIND_IM:
return resources.getStringArray(android.R.array.imProtocols);
case Contacts.KIND_ORGANIZATION:
return resources.getStringArray(android.R.array.organizationTypes);
// case EditEntry.KIND_CONTACT:
// return resources.getStringArray(R.array.otherLabels);
}
return null;
}
项目:flingtap-done
文件:ContactsListActivity.java
public ContactItemlistadapter(Context context) {
super(context,R.layout.contacts_list_item,false);
mContext = context;
mAlphabet = context.getString(R.string.fast_scroll_alphabet); // com.android.internal.
mUnkNownNameText = context.getText(android.R.string.unkNownName);
switch (mMode) {
case MODE_PICK_POSTAL:
mLocalizedLabels = getLabelsForKind(mContext,Contacts.KIND_POSTAL);
break;
default:
mLocalizedLabels = getLabelsForKind(mContext,Contacts.KIND_PHONE);
break;
}
// if ((mMode & MODE_MASK_SHOW_PHOTOS) == MODE_MASK_SHOW_PHOTOS) {
// mdisplayPhotos = true;
// setViewResource(R.layout.contacts_list_item_photo);
// mBitmapCache = new SparseArray<SoftReference<Bitmap>>();
// }
}
项目:RHome
文件:SmsPopupUtils.java
/**
* Looks up a contacts id,given their address (phone number in this case).
* Returns null if not found
*/
public static String getPersonIdFromPhoneNumber(Context context,String address) {
if (address == null)
return null;
Cursor cursor = context.getContentResolver().query(
Uri.withAppendedpath(Contacts.Phones.CONTENT_FILTER_URL,address),new String[] { Contacts.Phones.PERSON_ID },null);
if (cursor != null) {
try {
if (cursor.getCount() > 0) {
cursor.movetoFirst();
Long id = Long.valueOf(cursor.getLong(0));
// Log.v("Found person: " + id);
return (String.valueOf(id));
}
} finally {
cursor.close();
}
}
return null;
}
项目:phonty
文件:Caller.java
boolean isExcludedType(Vector<Integer> vExTypesCode,String sNumber,Context oContext)
{
Uri contactRef = Uri.withAppendedpath(Contacts.Phones.CONTENT_FILTER_URL,sNumber);
final String[] PHOnes_PROJECTION = new String[]
{
People.Phones.NUMBER,// 0
People.Phones.TYPE,// 1
};
Cursor phonesCursor = oContext.getContentResolver().query(contactRef,PHOnes_PROJECTION,null);
if (phonesCursor != null)
{
while (phonesCursor.movetoNext())
{
final int type = phonesCursor.getInt(1);
if(vExTypesCode.contains(Integer.valueOf(type)))
return true;
}
phonesCursor.close();
}
return false;
}
项目:phonty
文件:CallerInfoAsyncQuery.java
/**
* Factory method to start query with a number
*/
public static CallerInfoAsyncQuery startQuery(int token,Context context,String number,String number2,OnQueryCompleteListener listener,Object cookie) {
//contruct the URI object and start Query.
String number_search = number;
if (number.contains("&"))
number_search = number.substring(0,number.indexOf("&"));
Uri contactRef = Uri.withAppendedpath(Contacts.Phones.CONTENT_FILTER_URL,number_search);
CallerInfoAsyncQuery c = new CallerInfoAsyncQuery();
c.allocate(context,contactRef);
if (DBG) log("starting query for number: " + number + " handler: " + c.toString());
//create cookieWrapper,start query
CookieWrapper cw = new CookieWrapper();
cw.listener = listener;
cw.cookie = cookie;
cw.number = number;
cw.number2 = number2;
cw.event = EVENT_NEW_QUERY;
c.mHandler.startQuery (token,cw,contactRef,null);
return c;
}
项目:callerid-for-android
文件:OldContactsHelper.java
public CallerIDResult getContact(String phoneNumber) throws noresultException {
final Uri uri = Uri.withAppendedpath(Contacts.Phones.CONTENT_FILTER_URL,Uri.encode(phoneNumber));
final ContentResolver contentResolver = application.getContentResolver();
final Cursor cursor = contentResolver.query(uri,GET_CONTACT_PROJECTION,null);
try{
if(cursor.movetoNext()){
CallerIDResult ret = new CallerIDResult();
ret.setPhoneNumber(cursor.getString(NUMBER_COLUMN_INDEX));
ret.setName(cursor.getString(disPLAY_NAME_COLUMN_INDEX));
return ret;
}else{
throw new noresultException();
}
}finally{
cursor.close();
}
}
项目:BibSearch
文件:ResultHandler.java
final void addContact(String[] names,String[] phoneNumbers,String[] emails,String note,String address,String org,String title) {
// Only use the first name in the array,if present.
Intent intent = new Intent(Intent.ACTION_INSERT_OR_EDIT,Contacts.CONTENT_URI);
intent.setType(Contacts.People.CONTENT_ITEM_TYPE);
putExtra(intent,Contacts.Intents.Insert.NAME,names != null ? names[0] : null);
int phoneCount = Math.min(phoneNumbers != null ? phoneNumbers.length : 0,Contents.PHONE_KEYS.length);
for (int x = 0; x < phoneCount; x++) {
putExtra(intent,Contents.PHONE_KEYS[x],phoneNumbers[x]);
}
int emailCount = Math.min(emails != null ? emails.length : 0,Contents.EMAIL_KEYS.length);
for (int x = 0; x < emailCount; x++) {
putExtra(intent,Contents.EMAIL_KEYS[x],emails[x]);
}
putExtra(intent,Contacts.Intents.Insert.NOTES,note);
putExtra(intent,Contacts.Intents.Insert.POSTAL,address);
putExtra(intent,Contacts.Intents.Insert.COMPANY,org);
putExtra(intent,Contacts.Intents.Insert.JOB_TITLE,title);
launchIntent(intent);
}
项目:buildAPKsApps
文件:EventReceiver.java
/**
* Turns a converts the sender,either phone number of optionally the
* contact name,into associated Morse code timings.
*
* (Uses deprecated APIs to support pre-2.0 devices.)
* @param context
* @param sender
* @return <pre>ArrayList</pre> of <pre>Long</pre>s of off/on vibration intervals
*/
private ArrayList<Long> convertSenderToVibrations(Context context,String sender) {
if (this.settings.getBoolean(context.getString(R.string.preference_lookup_contact_name),true)) {
final String[] projection = new String[] { Contacts.PeopleColumns.disPLAY_NAME };
final String selection = Contacts.Phones.NUMBER + " = " + sender;
final Cursor results = context.getContentResolver().query(Contacts.Phones.CONTENT_URI,Contacts.ContactMethods.PERSON_ID);
if (results.movetoFirst()) {
return this.convertToVibrations(results.getString(results.getColumnIndex(Contacts.PeopleColumns.disPLAY_NAME)));
}
}
return this.convertToVibrations(sender,true);
}
项目:appinventor-extensions
文件:PhoneNumberPicker.java
/**
* For versions before Honeycomb,we get all the contact info from the same table.
*/
public void preHoneycombGetContactInfo(Cursor cursor) {
if (cursor.movetoFirst()) {
contactName = guardCursorGetString(cursor,NAME_INDEX);
phoneNumber = guardCursorGetString(cursor,NUMBER_INDEX);
int contactId = cursor.getInt(PERSON_INDEX);
Uri cUri = ContentUris.withAppendedId(Contacts.People.CONTENT_URI,contactId);
contactPictureUri = cUri.toString();
String emailId = guardCursorGetString(cursor,EMAIL_INDEX);
emailAddress = getEmailAddress(emailId);
}
}
项目:appinventor-extensions
文件:ContactPicker.java
protected ContactPicker(ComponentContainer container,Uri intentUri) {
super(container);
activityContext = container.$context();
if (SdkLevel.getLevel() >= SdkLevel.LEVEL_HONEYCOMB_MR1 && intentUri.equals(Contacts.People.CONTENT_URI)) {
this.intentUri = HoneycombMR1Util.getContentUri();
} else if (SdkLevel.getLevel() >= SdkLevel.LEVEL_HONEYCOMB_MR1 && intentUri.equals(Contacts.Phones.CONTENT_URI)) {
this.intentUri = HoneycombMR1Util.getPhoneContentUri();
} else {
this.intentUri = intentUri;
}
}
项目:appinventor-extensions
文件:ContactPicker.java
/**
* Email address getter for pre-Honeycomb.
*/
protected String getEmailAddress(String emailId) {
int id;
try {
id = Integer.parseInt(emailId);
} catch (NumberFormatException e) {
return "";
}
String data = "";
String where = "contact_methods._id = " + id;
String[] projection = {
Contacts.ContactMethods.DATA
};
Cursor cursor = activityContext.getContentResolver().query(
Contacts.ContactMethods.CONTENT_EMAIL_URI,where,null);
try {
if (cursor.movetoFirst()) {
data = guardCursorGetString(cursor,0);
}
} finally {
cursor.close();
}
// this extra check for null might be redundant,but we given that there are mysterIoUs errors
// on some phones,we'll leave it in just to be extra careful
return ensureNotNull(data);
}
项目:appinventor-extensions
文件:MediaUtil.java
private static InputStream openMedia(Form form,String mediaPath,MediaSource mediaSource)
throws IOException {
switch (mediaSource) {
case ASSET:
return getAssetsIgnoreCaseInputStream(form,mediaPath);
case REPL_ASSET:
return new FileInputStream(replAssetPath(mediaPath));
case SDCARD:
return new FileInputStream(mediaPath);
case FILE_URL:
case URL:
return new URL(mediaPath).openStream();
case CONTENT_URI:
return form.getContentResolver().openInputStream(Uri.parse(mediaPath));
case CONTACT_URI:
// Open the photo for the contact.
InputStream is = null;
if (SdkLevel.getLevel() >= SdkLevel.LEVEL_HONEYCOMB_MR1) {
is = HoneycombMR1Util.openContactPhotoInputStreamHelper(form.getContentResolver(),Uri.parse(mediaPath));
} else {
is = Contacts.People.openContactPhotoInputStream(form.getContentResolver(),Uri.parse(mediaPath));
}
if (is != null) {
return is;
}
// There's no photo for the contact.
throw new IOException("Unable to open contact photo " + mediaPath + ".");
}
throw new IOException("Unable to open media " + mediaPath + ".");
}
项目:DumbphoneAssistant
文件:SimUtil.java
/**
* Retrieves all contacts from the SIM card.
*
* @return ArrayList containing Contact objects from the stored SIM information
*/
public ArrayList<Contact> get() {
final String[] simProjection = new String[] {
Contacts.PeopleColumns.NAME,Contacts.PhonesColumns.NUMBER,android.provider.BaseColumns._ID
};
Cursor results = resolver.query(
simUri,simProjection,android.provider.Contacts.PeopleColumns.NAME
);
final ArrayList<Contact> simContacts = new ArrayList<>();
if (results != null) {
if (results.getCount() > 0) {
while (results.movetoNext()) {
final Contact simContact = new Contact(
results.getString(results.getColumnIndex(android.provider.BaseColumns._ID)),results.getString(results.getColumnIndex(Contacts.PeopleColumns.NAME)),results.getString(results.getColumnIndex(Contacts.PhonesColumns.NUMBER))
);
simContacts.add(simContact);
}
}
results.close();
}
return simContacts;
}
项目:Travel-Mate
文件:ShareContact.java
private void addContact(String name,String phone) {
ContentValues values = new ContentValues();
values.put(Contacts.People.NUMBER,phone);
values.put(Contacts.People.TYPE,ContactsContract.CommonDataKinds.Phone.TYPE_CUSTOM);
values.put(Contacts.People.LABEL,name);
values.put(Contacts.People.NAME,name);
Uri dataUri = getContentResolver().insert(Contacts.People.CONTENT_URI,values);
Uri updateUri = Uri.withAppendedpath(dataUri,Contacts.People.Phones.CONTENT_DIRECTORY);
values.clear();
values.put(Contacts.People.Phones.TYPE,Contacts.People.TYPE_MOBILE);
values.put(Contacts.People.NUMBER,phone);
updateUri = getContentResolver().insert(updateUri,values);
}
项目:LibreTasks
文件:PhoneNumberViewItem.java
/**
* {@inheritDoc}
*/
public View buildUI(DataType initData) {
if (initData != null) {
editText.setText(initData.getValue());
}
ContentResolver cr = activity.getContentResolver();
List<String> contacts = new ArrayList<String>();
// Form an array specifying which columns to return.
String[] projection = new String[] {People.NAME,People.NUMBER };
// Get the base URI for the People table in the Contacts content provider.
Uri contactsUri = People.CONTENT_URI;
// Make the query.
Cursor cursor = cr.query(contactsUri,// Which columns to return
null,// Which rows to return (all rows)
null,// Selection arguments (none)
Contacts.People.DEFAULT_SORT_ORDER);
if (cursor.movetoFirst()) {
String name;
String phoneNumber;
int nameColumn = cursor.getColumnIndex(People.NAME);
int phoneColumn = cursor.getColumnIndex(People.NUMBER);
do {
// Get the field values of contacts
name = cursor.getString(nameColumn);
phoneNumber = cursor.getString(phoneColumn);
contacts.add(name + ": " + phoneNumber);
} while (cursor.movetoNext());
}
cursor.close();
String[] contactsstr = new String[]{};
ArrayAdapter<String> adapter = new ArrayAdapter<String>(activity,android.R.layout.simple_dropdown_item_1line,contacts.toArray(contactsstr));
editText.setAdapter(adapter);
editText.setThreshold(1);
return(editText);
}
项目:LemonUtils
文件:IntentUtils.java
/**
* Pick contact only from contacts with telephone numbers
*/
public static Intent pickContactWithPhone() {
Intent intent;
if (isSupportsContactsV2()) {
intent = pickContact(ContactsContract.CommonDataKinds.Phone.CONTENT_TYPE);
} else { // pre Eclair,use old contacts API
intent = pickContact(Contacts.Phones.CONTENT_TYPE);
}
return intent;
}
private Uri getContactContentUri() {
if (isEclairOrLater()) {
// ContactsContract.Contacts.CONTENT_URI
return Uri.parse("content://com.android.contacts/contacts");
} else {
return Contacts.People.CONTENT_URI;
}
}
项目:android-52Kit
文件:IntentUtils.java
/**
* Pick contact from phone book
*
* @param scope You can restrict selection by passing required content type.
*/
public static Intent pickContact(String scope) {
Intent intent;
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.ECLAIR) {
intent = new Intent(Intent.ACTION_PICK,Contacts.People.CONTENT_URI);
} else {
intent = new Intent(Intent.ACTION_PICK,Uri.parse("content://com.android.contacts/contacts"));
}
if (!TextUtils.isEmpty(scope)) {
intent.setType(scope);
}
return intent;
}
项目:alternate-java-bridge-library
文件:ContactPicker.java
protected String getEmailAddress(String emailId) {
int id;
try {
id = Integer.parseInt(emailId);
} catch (NumberFormatException e) {
return "";
}
String data = "";
String where = "contact_methods._id = " + id;
String[] projection = {
Contacts.ContactMethods.DATA
};
Cursor cursor = activityContext.getContentResolver().query(
Contacts.ContactMethods.CONTENT_EMAIL_URI,we'll leave it in just to be extra careful
return ensureNotNull(data);
}
项目:alternate-java-bridge-library
文件:MediaUtil.java
private static InputStream openMedia(Form form,MediaSource mediaSource)
throws IOException {
switch (mediaSource) {
case ASSET:
return form.getAssets().open(mediaPath);
case REPL_ASSET:
return new FileInputStream(replAssetPath(mediaPath));
case SDCARD:
return new FileInputStream(mediaPath);
case FILE_URL:
case URL:
return new URL(mediaPath).openStream();
case CONTENT_URI:
return form.getContentResolver().openInputStream(Uri.parse(mediaPath));
case CONTACT_URI:
// Open the photo for the contact.
InputStream is = Contacts.People.openContactPhotoInputStream(form.getContentResolver(),Uri.parse(mediaPath));
if (is != null) {
return is;
}
// There's no photo for the contact.
throw new IOException("Unable to open contact photo " + mediaPath + ".");
}
throw new IOException("Unable to open media " + mediaPath + ".");
}
项目:alternate-java-bridge-library
文件:MediaUtil.java
private static InputStream openMedia(FormService formservice,MediaSource mediaSource)
throws IOException {
switch (mediaSource) {
case ASSET:
return formservice.getAssets().open(mediaPath);
case REPL_ASSET:
return new FileInputStream(replAssetPath(mediaPath));
case SDCARD:
return new FileInputStream(mediaPath);
case FILE_URL:
case URL:
return new URL(mediaPath).openStream();
case CONTENT_URI:
return formservice.getContentResolver().openInputStream(Uri.parse(mediaPath));
case CONTACT_URI:
// Open the photo for the contact.
InputStream is = Contacts.People.openContactPhotoInputStream(formservice.getContentResolver(),Uri.parse(mediaPath));
if (is != null) {
return is;
}
// There's no photo for the contact.
throw new IOException("Unable to open contact photo " + mediaPath + ".");
}
throw new IOException("Unable to open media " + mediaPath + ".");
}
项目:alternate-java-bridge-library
文件:MediaUtilsvc.java
private static InputStream openMedia(FormService formservice,MediaSource mediaSource)
throws IOException {
switch (mediaSource) {
case ASSET:
return formservice.getAssets().open(mediaPath);
case REPL_ASSET:
return new FileInputStream(replAssetPath(mediaPath));
case SDCARD:
return new FileInputStream(mediaPath);
case FILE_URL:
case URL:
return new URL(mediaPath).openStream();
case CONTENT_URI:
return formservice.getContentResolver().openInputStream(Uri.parse(mediaPath));
case CONTACT_URI:
// Open the photo for the contact.
InputStream is = Contacts.People.openContactPhotoInputStream(formservice.getContentResolver(),Uri.parse(mediaPath));
if (is != null) {
return is;
}
// There's no photo for the contact.
throw new IOException("Unable to open contact photo " + mediaPath + ".");
}
throw new IOException("Unable to open media " + mediaPath + ".");
}
项目:alternate-java-bridge-library
文件:ContactPicker2.java
protected String getEmailAddress(String emailId) {
int id;
try {
id = Integer.parseInt(emailId);
} catch (NumberFormatException e) {
return "";
}
String data = "";
String where = "contact_methods._id = " + id;
String[] projection = {
Contacts.ContactMethods.DATA
};
Cursor cursor = activityContext.getContentResolver().query(
Contacts.ContactMethods.CONTENT_EMAIL_URI,we'll leave it in just to be extra careful
return ensureNotNull(data);
}
项目:codenameone
文件:AndroidContactsManager.java
public static InputStream loadContactPhoto(ContentResolver cr,long id,long photo_id) {
Uri uri = ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI,id);
InputStream input = ContactsContract.Contacts.openContactPhotoInputStream(cr,uri);
if (input != null) {
return input;
}
byte[] photoBytes = null;
Uri photoUri = ContentUris.withAppendedId(ContactsContract.Data.CONTENT_URI,photo_id);
Cursor c = cr.query(photoUri,new String[]{ContactsContract.CommonDataKinds.Photo.PHOTO},null);
try {
if (c.movetoFirst()) {
photoBytes = c.getBlob(0);
}
} catch (Exception e) {
// Todo: handle exception
e.printstacktrace();
} finally {
c.close();
}
if (photoBytes != null) {
return new ByteArrayInputStream(photoBytes);
}
return null;
}
项目:cn1
文件:AndroidContactsManager.java
public static InputStream loadContactPhoto(ContentResolver cr,null);
try {
if (c.movetoFirst()) {
photoBytes = c.getBlob(0);
}
} catch (Exception e) {
// Todo: handle exception
e.printstacktrace();
} finally {
c.close();
}
if (photoBytes != null) {
return new ByteArrayInputStream(photoBytes);
}
return null;
}
项目:flingtap-done
文件:LocationUtil.java
/**
* Checks whether the contact refered to by the URI contains any postal contact methods.
* Postal contact methods usually can be geocoded and thus can be used for proximity alerts.
*
* @param uri A android.provider.Contacts.People.CONTENT_URI with id.
* @return
*/
protected static boolean doesContactUriContainLocationInfoSDK3(Context ctx,Uri uri) throws RuntimeException {
Long personId = ContentUris.parseId(uri);
if( personId < 0 ){
// Whoops,bad data! Bail.
Exception exp = (Exception)(new Exception("URI missing id.").fillInStackTrace());
Log.e(TAG,"ERR0003F URI missing id.");
ErrorUtil.handleExceptionNotifyUserAndThrow("ERR0003F",exp,ctx);
}
// ******************************************************
// Find the postal address that the user wants to use
// ******************************************************
// Get a list of the postal addresses
Cursor mContactMethodPostalCursor = ctx.getContentResolver().query(ContactMethods.CONTENT_URI,ContactMethodProjectionGps.CONTACT_METHODS_PROJECTION,ContactMethods.PERSON_ID+"=? AND "+ContactMethodsColumns.KIND+"=?",new String[]{personId.toString(),String.valueOf(Contacts.KIND_POSTAL)},null);
int count = mContactMethodPostalCursor.getCount();
mContactMethodPostalCursor.close();
// Zero postal addresses
if( count < 1){
// No postal addresses exist,so no GPS locations can exist,right?
return false;
}
return true;
}
项目:flingtap-done
文件:ContactLocationOverlayItemsPart.java
private void resolveForPerson(ArrayList<OverlayItem> overlayItems) {
personId = ContentUris.parseId(itr.next());
if( personId < 0 ){
// Whoops,bad data! Bail.
Exception exp = (Exception)(new Exception("Missing or incomplete Contacts.People.CONTENT_URI.").fillInStackTrace());
Log.e(TAG,"ERR0001H",exp);
ErrorUtil.handleExceptionNotifyUserAndThrow("ERR0001H",mContext);
}
// ******************************************************
// Find the postal address that the user wants to use
// ******************************************************
// Get a list of the postal addresses
mContactMethodPostalCursor = mContext.getContentResolver().query(ContactMethods.CONTENT_URI,// Todo: This won't work for Androic 2.x and above phones.
ContactMethods.PERSON_ID+"=? AND "+ContactMethodsColumns.KIND+"=?",null);
if(mContactMethodPostalCursor.movetoNext()){
Uri postalContactMethodUri = ContentUris.withAppendedId(ContactMethods.CONTENT_URI,mContactMethodPostalCursor.getInt(ContactMethodProjectionGps.CONTACT_M_ID_INDEX));
mContactData = mContactMethodPostalCursor.getString(ContactMethodProjectionGps.CONTACT_M_DATA_INDEX);
mGeocodeAddresspart.resolveAddressposition(mContactData,postalContactMethodUri,this);
}else{
mContactMethodPostalCursor.close();
personId = -1l;
if(itr.hasNext()){
resolveForPerson(overlayItems);
}else{
mListener.onOverlayItemsResolved(overlayItems);
}
}
}
项目:flingtap-done
文件:SelectPostalContactMethodActivity.java
protected Uri constructreturnData(Long personId,Long contactMethodId){
Builder builder = ContentUris.appendId(Contacts.People.CONTENT_URI.buildUpon(),personId);
builder.appendpath(Contacts.People.ContactMethods.CONTENT_DIRECTORY);
builder.appendpath(contactMethodId.toString());
Uri returnData = builder.build();
return returnData;
}
项目:android-intents
文件:PhoneIntents.java
/**
* Pick contact only from contacts with telephone numbers
*/
@SuppressWarnings("deprecation")
public static Intent newPickContactWithPhoneIntent() {
Intent intent;
if (isContacts2ApiSupported()) {
intent = newPickContactIntent(ContactsContract.CommonDataKinds.Phone.CONTENT_TYPE);
} else {
// pre Eclair,use old contacts API
intent = newPickContactIntent(Contacts.Phones.CONTENT_TYPE);
}
return intent;
}
项目:RHome
文件:SmsPopupUtils.java
/**
* Looks up a contacts display name by contact id - if not found,the
* address (phone number) will be formatted and returned instead.
*/
public static String getPersonName(Context context,String id,String address) {
if (id == null) {
if (address != null) {
// Log.v("Contact not found,formatting number");
return PhoneNumberUtils.formatNumber(address);
} else {
return null;
}
}
Cursor cursor = context.getContentResolver().query(Uri.withAppendedpath(Contacts.People.CONTENT_URI,id),new String[] { PeopleColumns.disPLAY_NAME },null);
if (cursor != null) {
try {
if (cursor.getCount() > 0) {
cursor.movetoFirst();
String name = cursor.getString(0);
// Log.v("Contact display Name: " + name);
return name;
}
} finally {
cursor.close();
}
}
if (address != null) {
// Log.v("Contact not found,formatting number");
return PhoneNumberUtils.formatNumber(address);
}
return null;
}
项目:RHome
文件:SmsPopupUtils.java
/**
* Looks up a contats photo by their contact id,returns a byte array that
* represents their photo (or null if not found)
*/
public static byte[] getPersonPhoto(Context context,String id) {
if (id == null)
return null;
if ("0".equals(id))
return null;
byte photo[] = null;
// Todo: switch to API method:
// Contacts.People.loadContactPhoto(arg0,arg1,arg2,arg3)
Cursor cursor = context.getContentResolver().query(Uri.withAppendedpath(Contacts.Photos.CONTENT_URI,new String[] { PhotosColumns.DATA },null);
if (cursor != null) {
try {
if (cursor.getCount() > 0) {
cursor.movetoFirst();
photo = cursor.getBlob(0);
if (photo != null) {
return photo;
}
}
} finally {
cursor.close();
}
}
return photo;
}