دانلود آهنگ جدید l دانلود موزیک l دانلود آهنگ ایرانی , اس ام اس عاشقانه


+ Notification‌ها را در آندروید مدیریت کنید

اطلاع‌رسانی در موبایل
در شماره پیش در مورد دانلودکردن فایل و به دست آوردن سرعت و میزان زمان باقیمانده برای فایل صحبت کردیم.

در این شماره قصد داریم با ایجاد یک Notification در بخش NotificationBar سیستم‌عامل آندروید کاربر را از دانلود فایل و اطلاعات مربوط به آن مطلع کنیم.

در مرحله اول باید یک شیء از کلاس Notification‌ ایجاد کنیم. این شیء یک پیغام است که در NotificationBar نمایش داده می‌شود، برای مقداردهی کردن آن به صورت زیر عمل می‌کنیم:


int icon = R.drawable.notification_icon;

CharSequence tickerText = "Hello";

long when = System.currentTimeMillis();

Notification notification = new Notification(icon, tickerText, when);

در خط اول یک آیکون برای نمایش Notification انتخاب می‌کنیم، در مرحله بعد متنی را که قرار است نمایش داده شود، در مرحله بعدی زمانی را که این Notification رخ داده مشخص می‌کنیم. سپس با استفاده از یک شیء از کلاس NotificationManager یک Notification را نمایش می‌دهیم. برای این کار با استفاده از متد getSystemService از کلاس پایه Context یک هندل از سرویس Notification سیستم‌عامل می‌گیریم تا بتوانیم به کمک آن یک Notification را نمایش دهیم. برای این کار به این صورت عمل می‌کنیم:

String ns = Context.NOTIFICATION_SERVICE;

NotificationManager mNotificationManager = (NotificationManager) getSystemService(ns);

بعد از این مرحله شیء mNotificationManager را مقداردهی می‌کنیم:

Context context = getApplicationContext();

CharSequence contentTitle = "My notification";

CharSequence contentText = "Hello World!";

Intent notificationIntent = new Intent(this, MyClass.class);

PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);

notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent);

ابتدا یک شیء از کلاس Context ایجاد می‌کنیم که به سیستم‌عامل می‌گوید این Notification Service‌ را چه برنامه‌ای اجرا کرده‌است، در این بخش 2 رشته متنی یکی contentTitle‌ و دیگری contentText ایجاد می‌کنیم؛ اولی عنوان یک Notification‌ بوده و دیگری متنی که در آن قرار است نمایش داده شود. سپس با ایجاد یک PendingIntent می‌گویم وقتی روی Notification کلیک کرد چه Activity از برنامه‌ای که در Context مشخص شده است اجرا شود. سپس با استفاده از متد setLatestEventInfo آن را ایجاد می‌کنیم. گوگل استفاده از این متد را درست نمی‌داند و پیشنهاد می‌کند تا از Notification.Builder برای ایجاد یک Notification استفاده کنید.

اما نکته‌ای را که در استفاده از این کلاس باید در نظر داشته باشید این است که شما با مقداردهی contentView از کلاس NotificationManager یک ظاهر سفارشی برای Notification خود ایجاد می‌کنید. برای این کار شما باید یک Layout ایجاد کنید سپس با استفاده از کلاس RemoteView آن را به contentView اختصاص دهید:

RemoteViews contentView = new RemoteViews(getPackageName(), layout_id);

سازنده این کلاس 2 مقدار ورودی دریافت می‌کند؛ اولی gegPackageName است که نام برنامه‌ در حال اجراست، layout_id یک کد منحصر به فرد مربوط به یک Layout‌ بوده که قرار است در NotificationBar نمایش داده شود و به صورت زیر آن را مشخص می‌کنند: R.layout.id‌ که مقدار id به هر میزان می‌تواند باشد.

با استفاده از ویژگی contentView کلاس NotificationManager می‌توانیم، یک View را در Notification ایجاد کنیم.

در نهایت با استفاده از متد notify می‌توانیم یک Notification را نمایش دهیم؛ مانند این کد:

mNotificationManager.notify(id, notification);

نکته‌ای که در مورد این متد وجود دارد id است، هر Notification باید id‌ منحصر به فرد داشته باشد. اما اگر این id‌ها یکسان نبودند یک Notification‌ ایجاد می‌شود و بقیه Notification‌ها نیز در قالب همان به وجود می‌آیند، برای مثال اگر شما ۳ عدد داشته باشید همیشه با یک Notification‌ روبه‌رو می‌شوید.

منبع :

http://developer.android.com/guide/topics/ui/notifiers/notifications.html

http://www.codeproject.com/Articles/292232/Downloading-multiple-files-using-AsyncTask-in-Andr

 

نویسنده : دوست دارم ; ساعت ٧:٤٧ ‎ب.ظ ; ۱۳٩٠/۱٢/۸
comment نظرات () لینک