- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我是唯一一个试图实现这一目标的人吗……:/?
简而言之:
我想取回我的联系人的照片,因为他们自己定义了照片(例如在他们的 Google 自己的帐户页面上)。
用例:我自己修改了我联系人的一张图片,现在,我想撤消该更改 -> 我想“取回”我联系人的 Google 图片(那个由他/她自己设置)。
我有一个管理 Google 通讯录的应用程序。它还使用
管理联系人照片ContactsContract.CommonDataKinds.Photo.PHOTO
而且它工作正常。
这是我想支持的场景:
请在此处查看我的代码以设置照片。我是否应该只“清除”照片并依靠 ContactProvider 从 Google 帐户下载回用户照片?
如何清除照片。将 ContactsContract.CommonDataKinds.Photo.PHOTO 设置为“空”?并删除相关文件,即
Uri rawContactPhotoUri = Uri.withAppendedPath(ContentUris.withAppendedId(RawContacts.CONTENT_URI, rawContactId), RawContacts.DisplayPhoto.CONTENT_DIRECTORY)
感谢您的帮助。
这是我更新图片的方式:
private void updatePhotoThumbnail(Bitmap bitmap, Contact contact) throws Exception
{
byte[] contactPhotoBytes = getContactPhotoBytes(bitmap);
ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>();
// @formatter:off
String where = ContactsContract.RawContacts.ACCOUNT_NAME + "= ? "
+ "AND " + ContactsContract.RawContacts.ACCOUNT_TYPE + "= ? "
+ "AND " + ContactsContract.Data.CONTACT_ID + "= ? "
+ "AND " + ContactsContract.Data.RAW_CONTACT_ID + "= ? "
+ "AND " + ContactsContract.Data.MIMETYPE + " = ?";
// @formatter:on
String[] params = new String[]
{
// @formatter:off
_accountName,
AccountManagerHelper.GOOGLE_ACCOUNT_TYPE,
String.valueOf(contact.getId()),
String.valueOf(contact.getRawContactId()),
ContactsContract.CommonDataKinds.Photo.CONTENT_ITEM_TYPE
// @formatter:on
};
ops.add(ContentProviderOperation.newUpdate(ContactsContract.Data.CONTENT_URI).withSelection(where, params)
.withValue(ContactsContract.Data.IS_SUPER_PRIMARY, 1)
.withValue(ContactsContract.CommonDataKinds.Photo.PHOTO, contactPhotoBytes).build());
try
{
_contentResolver.applyBatch(ContactsContract.AUTHORITY, ops);
updateDisplayPhoto(contact.getRawContactId(), contactPhotoBytes);
}
catch (RemoteException e)
{
e.printStackTrace();
throw new Exception(e.getMessage());
}
catch (OperationApplicationException e)
{
e.printStackTrace();
throw new Exception(e.getMessage());
}
}
private void updateDisplayPhoto(long rawContactId, byte[] photo)
{
Uri rawContactPhotoUri = Uri.withAppendedPath(ContentUris.withAppendedId(RawContacts.CONTENT_URI, rawContactId),
RawContacts.DisplayPhoto.CONTENT_DIRECTORY);
try
{
AssetFileDescriptor fd = getContentResolver().openAssetFileDescriptor(rawContactPhotoUri, "rw");
OutputStream os = fd.createOutputStream();
os.write(photo);
os.close();
fd.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
最佳答案
Here是检索用户的 Google 个人资料图片的教程。它还会检索一些其他内容,例如帐户电子邮件、姓名、...我认为这是解决您的问题的直接方法:)
如果有帮助,请保持联系。
关于android 联系人照片 : How to get back (Google) contact picture from the web (and so, 'cancel' 原本 map 片改),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21409887/
我正在开发一个应用程序,我在其中显示来自服务器的一些联系人,目前我正在对来自服务器的联系人进行排序,但现在我想使用 IOS -> 设置 -> 联系人 -> 显示顺序读取联系人设置新的联系人框架,我没有
我希望检测一个(球)何时接触另一个物体(目标),并且我希望知道该接触的冲动。 我知道三种检测联系人的方法 gContactAddedCallback 或 int numManifolds =
我正在开发我的第一个 Android 应用程序,想知道我可以调用什么来显示这个“联系人 Pane ”: 当然,我指的是下方带有联系人照片、姓名和操作图标的小 Pane 。 作为一个相关问题...这个小
我正在研究如何从 android 上的联系人列表中导入数据。在模拟器中,我注意到一个位于顶部的联系人组,其中只包含一个我自己的联系人。其余联系人如下。 但是,当我使用下面的代码时 Intent pic
如何添加从地址簿/联系人列表导入联系人号码并将其添加到数组中的功能? 编辑 如果您看过高级通话管理器应用程序,它允许您从联系人列表中选择联系人并将其添加到黑名单。我想做同样的事情,从联系人列表中选择一
我正在阅读有关内容提供商的信息,并且对从 android 中选择联系人有点困惑。我从 Stackoverflow 中阅读了很多示例,并且混淆了一些人正在使用 content://contacts/pe
.NET 有许多不同的 Google API dll,例如 Google.Apis.Calendar.v3。但联系人 API 没有任何内容。使用旧版本或其他方法并不是解决方案,因为我已经使用了多个 A
我收到此错误 django.urls.exceptions.NoReverseMatch:未找到“联系人”的反向。 “contact”不是有效的 View 函数或模式名称。我可能做错了什么,djang
每当我使用 Google Contacts Api v3 列出我的联系人时,查询都会返回 480 个结果,而我在我的联系人上只有 269 个联系人列表。 我正在尝试过滤它们,以便它只显示来自我的联系人
我正在使用 django 1.3.1 和 satchmo 0.9.2。我使用了 Satchmo 附带的默认模型,称为“Contact”。我创建了一个 satchmo_mod 应用程序和一个 admin
当我使用“这个解决方案”时,我得到一个空白的联系人数组。 我在 examples/contacts 文件夹中使用“google-api-php-client-0.6.7”和 serviceAccoun
使用 ABAddressBook,当我希望用户能够为他们以前从未见过的联系人选择“创建新联系人”和“添加到现有联系人”选项时,我会创建并显示一个 ABUnknownPersonViewControll
我正在探索 ionic 4 中的新导航(类型为 angular),您可以在选项卡项目中找到它 href="/tabs/(contact:contact)" 什么是 (contact:contact)
我已经使用这个 API 6 年了,没有任何问题,但是从 3 天前开始,我遇到了一系列奇怪的行为,意识到我的 google 联系人开始不受控制地复制。我发现它与检索联系人时 1.500 的奇怪限制有关,
我在 main 中初始化了 box 数据库如下 void main() async { WidgetsFlutterBinding.ensureInitialized(); final
我使用 var contacts:[details] 编写代码? = nil 我遇到了无法访问 contacts?.count 的问题,我不得不在任何地方使用可选值。例如 contacts[index
我正在从我的手机联系人列表中获取我的联系人图像 uri。 但是,当我尝试将图像 uri 转换为位图时,我收到错误: java.io.FileNotFoundException: content://c
我浏览了很多帖子,但没有找到任何有效甚至正确回答问题的答案。我最接近的是这个 How to avoid duplicate contact name (data ) while loading con
我正在使用 Google Contact API v3。目标是在我的数据库和 Google 帐户之间同步联系人。我的问题是: 1) 当我在没有联系人组的情况下通过电子邮件地址搜索联系人时,我得到了一个
我想在联系表单 7 中的特定输入类型上添加 Id 和 Class 属性。 当我添加以下示例时,它在输入类型上方的 SPAN 标记上应用 Id 和 Class [radio amount id:amou
我是一名优秀的程序员,十分优秀!