This statement will use a method to convert a URL (naturally, one that points to an image) into a Bitmap
.
Bitmap bitmap = getBitmapFromURL("https://graph.facebook.com/YOUR_USER_ID/picture?type=large");
Note: Since you mention a Facebook profile, I have included an URL that gets your the large size profile picture of a Facebook User. You can however, change this to any URL that points to an image that you need to display in the Notification
.
And the method that will get the image from the URL you specified in the statement above:
public Bitmap getBitmapFromURL(String strURL) {
try {
URL url = new URL(strURL);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoInput(true);
connection.connect();
InputStream input = connection.getInputStream();
Bitmap myBitmap = BitmapFactory.decodeStream(input);
return myBitmap;
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
Now pass the bitmap
instance created above to the Notification.Builder
instance. I call it builder
in this example code. It is used in this line: builder.setLargeIcon(bitmap);
. I am assuming you know how to display the actual Notification
and it's configurations. So I will skip that part and add just the builder.
// CONSTRUCT THE NOTIFICATION DETAILS
builder.setAutoCancel(true);
builder.setSmallIcon(R.drawable.ic_launcher);
builder.setContentTitle("Some Title");
builder.setContentText("Some Content Text");
builder.setLargeIcon(bitmap);
builder.setContentIntent(pendingIntent);
Oh, almost forgot, if you haven't already done so, you will need this permission setup in the Manifest:
<uses-permission android:name="android.permission.INTERNET" />
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…