مشخصات مقاله
-
1962
-
0.0
-
7799
-
0
-
0
آموزش Push Notification اندروید
آموزش اطلاعیه ی push – اندروید
اطلاعیه پیامی است که می توانید به یوزر بیرون UI برنامه ی خود نمایش دهید. شما می توانید در اندروید اطلاعیه های مربوط به خود را به راحتی ایجاد کنید.
اندروید گروه NotificationManager را برای این هدف ارائه می دهد. برای استفاده از این گروه، باید با درخواست سیستم اندروید از طریق روش getSystemService()، یک آبجکت از این گروه را به عنوان نمونه قرار دهید. ترکیب آن را می توانید در زیر مشاهده کنید.
NotificationManager NM;
NM=(NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);
پس از آن شما یک اطلاعیه از طریق گروه Notification ایجاد کرده اید و ویژگی هایی مانند آیکن، تیتر، زمان و غیره را مشخص می کنید، که ترکیب آن در زیر ارائه شده است.
Notification notify=new Notification(android.R.drawable.stat_notify_more,title,System.currentTimeMillis());
کار دیگری که باید انجام دهید، ایجاد PendingIntent به وسیله ی انتقال کانتکست و intent به عنوان پارامتر، می باشد. با ارائه ی PendingIntent به یک برنامه ی دیگر، حق اجرای عملکرد مشخص شده ای را به آن برنامه می دهید مثل اینکه آن برنامه، برنامه ی خودتان است.
PendingIntent pending=PendingIntent.getActivity(getApplicationContext(),0,new Intent(),0);
و آخرین کاری که باید انجام دهید فراخوانی روش setLatestEventInfo از گروه Notification و انتقال intent معلق همراه با آبجکت notification و اجزای بدنه می باشد. ترکیب آن به شکل زیر می باشد:
notify.setLatestEventInfo(getApplicationContext(), subject, body,pending);
NM.notify(0, notify);
علاوه بر روش اخطاریه فرستادن، روش های دیگری در گروه NotificationManager وجود دارند که لیست آنها در زیر ارائه شده است.
مثال:
این مثال استفاده از گروه NotificationManager را توضیح می دهد. این مثال برنامه ی پایه ای ایجاد می کند که به شما اجازه می دهد تا یک اخطاریه درست کنید.
برای انجام این مثال لازم است آن را روی یک دستگاه واقعی یا روی یک مقلد اجرا کنید.
در اینجا محتوای src/com.example.status/MainActivity.java را می بینید.
package com.example.status;
import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.EditText;
public class MainActivity extends Activity {
NotificationManager NM;
EditText one,two,three;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
one = (EditText)findViewById(R.id.editText1);
two = (EditText)findViewById(R.id.editText2);
three = (EditText)findViewById(R.id.editText3);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@SuppressWarnings("deprecation")
public void notify(View vobj){
String title = one.getText().toString();
String subject = two.getText().toString();
String body = three.getText().toString();
NM=(NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);
Notification notify=new Notification(android.R.drawable.
stat_notify_more,title,System.currentTimeMillis());
PendingIntent pending=PendingIntent.getActivity(
getApplicationContext(),0, new Intent(),0);
notify.setLatestEventInfo(getApplicationContext(),subject,body,pending);
NM.notify(0, notify);
}
}
در اینجا محتوای activity_main.xml می باشد.
در اینجا محتوای Strings.xml را می بینید.
Status
Settings
Hello world!
Notify
Title
Subject
Body
Create Notification
در زیر محتوای AndroidManifest.xml را مشاهده می کنید.
اجازه بدهید برنامه ی TextToSpeech شما را اجرا کنیم. فرض می کنیم که دستگاه موبایل اندروید خود را به کامپیوتر متصل کرده اید. برای اجرای برنامه از Eclipse، یکی ازفایل های فعالیت پروژه را باز کرده و روی آیکن Run از تولبار کلیک کنید. قبل از شروع برنامه ی شما، Eclipse پنجره ی زیر را برای انتخاب گزینه ی محل اجرای برنامه ی اندرویدتان، نمایش خواهد داد.
موبایل خود را به عنوان یک گزینه انتخاب کرده و سپس آن را چک کنید که صفحه ی زیر را نمایش خواهد داد.
اکنون فیلد را با تیتر، موضوع و بدنه پر کنید، همان طور که در تصویر زیر می بینید.
اکنون روی دکمه ی notify کلیک کنید، پس از آن یک اخطاریه در قسمت بالای notification bar خواهید دید، درست مانند تصویر زیر
حال notification bar را به سمت پایین اسکرول کرده و اخطاریه را ببینید، که در تصویر زیر نمایش داده شده است.