मुझे सूचनाएं सही तरीके से बनाने और भेजने के साथ समस्या आ रही है। मैंने नया Lollipop 5.0 update
अधिसूचना डिज़ाइन विनिर्देश यहां पढ़ा है: https://material.google.com/style/icons.html और https://material.google.com/patterns/notifications.html और मुझे एहसास है कि सही ढंग से प्रदर्शित करने के लिए आइकन को white
होना चाहिए। यह ठीक है और मैं इसे पूरी तरह से समझता हूं, लेकिन मैं अपनी अधिसूचना एक तस्वीर दिखाने के लिए चाहता हूं, जो स्पष्ट रूप से सफेद नहीं हो सकता है। हालांकि, वास्तव में मुझे भ्रमित करने वाला तथ्य यह है कि जब मैं अपने फोन पर अधिसूचना प्रस्तुत करने का प्रयास करता हूं, तो सब कुछ ठीक काम करता है। यह कुछ इस तरह दिखता है:बड़ी छवि अधिसूचना के रूप में फेसबुक छवि विभिन्न फोनों पर सफेद के रूप में दिखाई देती है?
हालांकि, मेरे दोस्त के फोन पर, यह एक सफेद वर्ग की तरह दिखता है, कुछ इस तरह:
यह अजीब है, क्योंकि हम दोनों एक ही है एंड्रॉइड का संस्करण, संस्करण 6.0.1।
private class NotificationPicture extends AsyncTask<String, Void, Bitmap> {
Context context;
String userId;
String postId;
String name;
String notificationBody;
String from;
public NotificationPicture(Context context) {
super();
this.context = context;
}
@Override
protected Bitmap doInBackground(String... params) {
userId = params[0];
postId = params[1];
name = params[2];
notificationBody = params[3];
from = params[4];
try {
URL url = new URL("https://graph.facebook.com/" + userId + "/picture?type=large");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoInput(true);
connection.connect();
InputStream in = connection.getInputStream();
Bitmap bitmap = BitmapFactory.decodeStream(in);
Bitmap output;
Rect srcRect;
if (bitmap.getWidth() > bitmap.getHeight()) {
output = Bitmap.createBitmap(bitmap.getHeight(), bitmap.getHeight(), Bitmap.Config.ARGB_8888);
srcRect = new Rect((bitmap.getWidth()-bitmap.getHeight())/2, 0, bitmap.getWidth()+(bitmap.getWidth()-bitmap.getHeight())/2, bitmap.getHeight());
} else {
output = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getWidth(), Bitmap.Config.ARGB_8888);
srcRect = new Rect(0, (bitmap.getHeight()-bitmap.getWidth())/2, bitmap.getWidth(), bitmap.getHeight()+(bitmap.getHeight()-bitmap.getWidth())/2);
}
Canvas canvas = new Canvas(output);
final int color = 0xff424242;
final Paint paint = new Paint();
final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());
float r;
if (bitmap.getWidth() > bitmap.getHeight()) {
r = bitmap.getHeight()/2;
} else {
r = bitmap.getWidth()/2;
}
paint.setAntiAlias(true);
canvas.drawARGB(0, 0, 0, 0);
paint.setColor(color);
canvas.drawCircle(r, r, r, paint);
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
canvas.drawBitmap(bitmap, srcRect, rect, paint);
return output;
} catch (IOException e) {
FirebaseCrash.report(e);
return null;
}
}
@Override
protected void onPostExecute(Bitmap result) {
super.onPostExecute(result);
try {
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(context)
.setContentTitle(getString(R.string.app_name))
.setContentText(notificationBody)
.setTicker(from + " has responded!")
.setAutoCancel(true)
.setSound(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION))
.setStyle(new NotificationCompat.BigTextStyle().bigText(notificationBody))
.setSmallIcon(R.drawable.ic_tabs_notification_2)
.setLargeIcon(result);
Intent resultIntent = new Intent(context, CommentsActivity.class);
setupPostDetails(notificationBuilder, resultIntent, postId, userId, name, context);
} catch (Exception e) {
e.printStackTrace();
}
}
}
build.gradle विन्यास:
compileSdkVersion 23
buildToolsVersion "23.0.1"
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
defaultConfig {
applicationId 'com.schan.tabs'
multiDexEnabled true
minSdkVersion 19
targetSdkVersion 23
versionCode 16
versionName "1.16"
signingConfig signingConfigs.Tabs
}
किसी को भी किसी भी विचार क्यों यह हो रहा है है, तो कुछ अंतर्दृष्टि बहुत सराहना की जाएगी यहाँ कोड मैं सूचना भेजने के लिए प्रयोग किया जाता है। मेरे पास सैमसंग एसएम-जी 9 00 वी (सैमसंग एस 5) है और मेरे दोस्त के पास एक प्लस वन फोन है जो इससे मदद करता है।
https://medium.com/exploring-android/android-n-introducing-upgraded-notifications-d4dd98a7ca92#.3xrmucoq2 –