অন্য আইডিয়া:
আপনি যদি সাধারণভাবে কোনও বিজ্ঞপ্তি তৈরি করেন তবে এগুলির মধ্যে দুটি, 3 বা 3 টি ক্রিয়াও আপনার প্রয়োজন। আমি একটি "নোটিফাইমেনজার" তৈরি করেছি এটি আমার প্রয়োজনীয় সমস্ত বিজ্ঞপ্তি তৈরি করে এবং সমস্ত ইনটেন্ট কলও গ্রহণ করে। সুতরাং আমি সমস্ত ক্রিয়া পরিচালনা করতে পারি এবং এছাড়াও এক জায়গায় বরখাস্ত ইভেন্টটি ধরতে পারি।
public class NotifyPerformService extends IntentService {
@Inject NotificationManager notificationManager;
public NotifyPerformService() {
super("NotifyService");
...
}
@Override
public void onHandleIntent(Intent intent) {
notificationManager.performNotifyCall(intent);
}
মুছে ফেলার জন্য এটি ব্যবহার করুন (নোটিফিকেশন ম্যানেজারে):
private PendingIntent createOnDismissedIntent(Context context) {
Intent intent = new Intent(context, NotifyPerformMailService.class).setAction("ACTION_NOTIFY_DELETED");
PendingIntent pendingIntent = PendingIntent.getService(context, SOME_NOTIFY_DELETED_ID, intent, 0);
return pendingIntent;
}
এবং যেটি আমি মুছে ফেলতে ইচ্ছাকৃতভাবে এটির মতো সেট করতে ব্যবহার করি (নোটিফিকেশন ম্যানেজারে):
private NotificationCompat.Builder setNotificationStandardValues(Context context, long when){
String subText = "some string";
NotificationCompat.Builder builder = new NotificationCompat.Builder(context.getApplicationContext());
builder
.setLights(ContextUtils.getResourceColor(R.color.primary) , 1800, 3500)
.setAutoCancel(true)
.setWhen(when)
.setVibrate(new long[]{1000, 1000})
.setLargeIcon(BitmapFactory.decodeResource(context.getResources(), R.mipmap.ic_launcher))
.setSmallIcon(R.drawable.ic_white_24dp)
.setGroup(NOTIFY_GROUP)
.setContentInfo(subText)
.setDeleteIntent(createOnDismissedIntent(context))
;
return builder;
}
এবং অবশেষে একই নোটিফিকেশন ম্যানেজারটি হল সঞ্চালন কার্য:
public void performNotifyCall(Intent intent) {
String action = intent.getAction();
boolean success = false;
if(action.equals(ACTION_DELETE)) {
success = delete(...);
}
if(action.equals(ACTION_SHOW)) {
success = showDetails(...);
}
if(action.equals("ACTION_NOTIFY_DELETED")) {
success = true;
}
if(success == false){
return;
}
}
builder.setAutoCancel(true);
ক্লিক করার সময় কোনও ব্যবহারকারী বিজ্ঞপ্তি প্রকাশের জন্য অনুরূপ পন্থা রয়েছে কি না এবং এটি বাতিল হয়ে যায়, মোছার-উদ্দেশ্যটি ট্রিগার হয় না