Android-푸시 알림

알림은 애플리케이션의 일반 UI 외부에서 사용자에게 표시 할 수있는 메시지입니다. Android에서 자신 만의 알림을 매우 쉽게 만들 수 있습니다.

Android는 NotificationManager이 목적을 위해 클래스. 이 클래스를 사용하려면 다음을 통해 안드로이드 시스템을 요청하여이 클래스의 객체를 인스턴스화해야합니다.getSystemService() method. 구문은 다음과 같습니다.

NotificationManager NM;
NM=(NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);

그 후 다음을 통해 알림을 생성합니다. Notification 클래스 및 아이콘, 제목 및 시간 등과 같은 속성을 지정합니다. 구문은 다음과 같습니다.

Notification notify = new Notification(android.R.drawable.stat_notify_more,title,System.currentTimeMillis());

다음으로해야 할 일은 PendingIntent컨텍스트와 의도를 매개 변수로 전달하여 PendingIntent를 다른 응용 프로그램에 부여하면 다른 응용 프로그램이 자신 인 것처럼 지정한 작업을 수행 할 수있는 권한을 부여하는 것입니다.

PendingIntent pending = PendingIntent.getActivity(getApplicationContext(), 0, new Intent(),0);

마지막으로해야 할 일은 setLatestEventInfoNotification 클래스의 메서드를 사용하고 알림 제목 및 본문 세부 정보와 함께 보류중인 인 텐트를 전달합니다. 구문은 다음과 같습니다. 그리고 마지막으로 NotificationManager 클래스의 알림 메서드를 호출합니다.

notify.setLatestEventInfo(getApplicationContext(), subject, body,pending);
NM.notify(0, notify);

알림 메서드 외에도 NotificationManager 클래스에서 사용할 수있는 다른 메서드가 있습니다. 그들은 아래에 나열되어 있습니다-

Sr. 아니요 방법 및 설명
1

cancel(int id)

이 메서드는 이전에 표시된 알림을 취소합니다.

2

cancel(String tag, int id)

이 방법은 이전에 표시된 알림도 취소합니다.

cancelAll()

이 방법은 이전에 표시된 모든 알림을 취소합니다.

4

notify(int id, Notification notification)

이 메서드는 상태 표시 줄에 표시 할 알림을 게시합니다.

5

notify(String tag, int id, Notification notification)

이 방법은 상태 표시 줄에 표시 할 알림도 게시합니다.

아래 예제는 NotificationManager 클래스의 사용을 보여줍니다. 알림을 만들 수있는 기본 애플리케이션을 생성합니다.

이 예제를 실험하려면 실제 장치 또는 에뮬레이터에서 실행해야합니다.

단계 기술
1 Android 스튜디오를 사용하여 packagecom.example.sairamkrishna.myapplication 아래에 Android 애플리케이션을 만듭니다.
2 src / MainActivity.java 파일을 수정하여 알림 코드를 추가합니다.
레이아웃 XML 파일 res / layout / activity_main.xml 수정 필요한 경우 GUI 구성 요소를 추가하십시오.
4 애플리케이션을 실행하고 실행중인 Android 기기를 선택하고 여기에 애플리케이션을 설치하고 결과를 확인합니다.

내용은 다음과 같습니다. MainActivity.java.

다음 코드에서 abc tutorialspoint.com의 로고를 나타냅니다.
package com.example.sairamkrishna.myapplication;

import android.app.Notification;
import android.app.NotificationManager;

import android.content.Context;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.View;

import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends ActionBarActivity {
   EditText ed1,ed2,ed3;
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);

      ed1=(EditText)findViewById(R.id.editText);
      ed2=(EditText)findViewById(R.id.editText2);
      ed3=(EditText)findViewById(R.id.editText3);
      Button b1=(Button)findViewById(R.id.button);

      b1.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View v) {
            String tittle=ed1.getText().toString().trim();
            String subject=ed2.getText().toString().trim();
            String body=ed3.getText().toString().trim();

            NotificationManager notif=(NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);
            Notification notify=new Notification.Builder
               (getApplicationContext()).setContentTitle(tittle).setContentText(body).
               setContentTitle(subject).setSmallIcon(R.drawable.abc).build();
                
               notify.flags |= Notification.FLAG_AUTO_CANCEL;
               notif.notify(0, notify);
         }
      });
   }
}

내용은 다음과 같습니다. activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
   android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
   android:paddingRight="@dimen/activity_horizontal_margin"
   android:paddingTop="@dimen/activity_vertical_margin"
   android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">
   
   <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Notification"
      android:id="@+id/textView"
      android:layout_alignParentTop="true"
      android:layout_centerHorizontal="true"
      android:textSize="30dp" />
      .
   <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Tutorials Point"
      android:id="@+id/textView2"
      android:layout_below="@+id/textView"
      android:layout_centerHorizontal="true"
      android:textSize="35dp"
      android:textColor="#ff16ff01" />
      
   <EditText
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:id="@+id/editText"
      android:layout_below="@+id/textView2"
      android:layout_alignLeft="@+id/textView2"
      android:layout_alignStart="@+id/textView2"
      android:layout_marginTop="52dp"
      android:layout_alignRight="@+id/textView2"
      android:layout_alignEnd="@+id/textView2"
      android:hint="Name" />
   
   <EditText
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:id="@+id/editText2"
      android:hint="Subject"
      android:layout_below="@+id/editText"
      android:layout_alignLeft="@+id/editText"
      android:layout_alignStart="@+id/editText"
      android:layout_alignRight="@+id/editText"
      android:layout_alignEnd="@+id/editText" />
      
   <EditText
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:inputType="textPersonName"
      android:ems="10"
      android:id="@+id/editText3"
      android:hint="Body"
      android:layout_below="@+id/editText2"
      android:layout_alignLeft="@+id/editText2"
      android:layout_alignStart="@+id/editText2"
      android:layout_alignRight="@+id/editText2"
      android:layout_alignEnd="@+id/editText2" />
      
   <Button
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Notification"
      android:id="@+id/button"
      android:layout_marginTop="77dp"
      android:layout_below="@+id/editText3"
      android:layout_alignRight="@+id/textView"
      android:layout_alignEnd="@+id/textView" />

</RelativeLayout>

내용은 다음과 같습니다. AndroidManifest.xml.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.example.sairamkrishna.myapplication" >
   
   <application
      android:allowBackup="true"
      android:icon="@mipmap/ic_launcher"
      android:label="@string/app_name"
      android:theme="@style/AppTheme" >
      
      <activity
         android:name=".MainActivity"
         android:label="@string/app_name" >
         
         <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
         </intent-filter>
         
      </activity>
      
   </application>
</manifest>

응용 프로그램을 실행 해 보겠습니다. Android 스튜디오에서 앱을 실행하려면 프로젝트의 활동 파일 중 하나를 열고

도구 모음에서 실행 아이콘을 클릭 합니다. 애플리케이션을 시작하기 전에 Android 스튜디오는 Android 애플리케이션을 실행할 옵션을 선택하는 다음 창을 표시합니다.

이제 제목, 제목 및 본문으로 필드를 채우십시오. 이것은 아래 그림에 나와 있습니다.

이제 알림 버튼을 클릭하면 상단 알림 표시 줄에 알림이 표시됩니다. 아래에 나와 있습니다-

이제 알림 표시 줄을 아래로 스크롤하여 알림을 확인합니다. 이것은 아래 그림에 나와 있습니다.