我正在尝试设置Google plus个人资料图片。我可以使用以下方式获取URL并设置图像:
private class LoadProfileImage extends AsyncTask<String, Void, Bitmap> {
ImageView bmImage;
public LoadProfileImage(ImageView bmImage) {
this.bmImage = bmImage;
}
Protected Bitmap doInBackground (String... urls) {
String urldisplay = urls[0];
Bitmap mIcon11 = null;
try {
InputStream in = new java.net.URL(urldisplay).openStream();
mIcon11 = BitmapFactory.decodeStream(in);
} catch (Exception e) {
Log.e("Error", e.getMessage());
e.printStackTrace();
}
return mIcon11;
}
protected void onPostExecute(Bitmap result) {
bmImage.setImageBitmap(result);
}
}
但是当没有互联网时,这不起作用。配置文件图像始终从指定的URL获取。
问题是:如何缓存个人资料图片?或者我应该将它存储在共享首选项中?只要没有互联网我仍然有个人资料图片,这将非常有用......
让我知道!
谢谢!
答案 0 :(得分:0)
如果没有互联网连接,您可能会或可能不会获得个人资料图片,这取决于。
在这种情况下你能做些什么?
1:只需在互联网连接处于活动状态时获取图像,并将该图像缓存在应用程序缓存目录或其他位置,并在没有互联网连接时使用它。
2:如果您的联系人目录中存在该人,并且设备所有者与Google+同步,那么您可以尝试使用该人的电子邮件ID获取该个人资料照片。 Content provider
允许您获取联系人详细信息。