Notificações
Status Bar Notifications, são aquelas conhecidas barras de
status muito usados no WhatApp, Line entre outros. Como em todos os casos que
desejamos implementar uma notificação para nossa App, neste também utilizaremos
a classe NotificationsManager para enviar as notificações o sistema. Para
construir a notificação, é utilizado o Notification.Builder()
que possui diferentes métodos que
customizam o conteúdo e a aparência da
notificação.
Application
Name: Notificação
Package Name:
Notificação
Package
Name: br.com.ck.notificacao
Activity
Name: MainActivity
Layout
Name: main
Na pasta res/layouts altere o arquivo chamado main.xml. Ele deve ficar com o seguinte conteúdo:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity"
>
<Button
android:id="@+id/btn_criar_notificacao"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/criar_notificacao"
/>
</LinearLayout>
O arquivo res/values/strings.xml
deve ficar com o seguinte
conteúdo:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Notificacao</string>
<string name="action_settings">Settings</string>
<string name="hello_world">Hello world!</string>
<string name="criar_notificacao">Criar Notificação</string>
<string name="title_activity_notificacao">NotificacaoActivity</string>
<string name="notificao">Esta tela foi aberta
a partir da notificação</string>
</resources>
|
Na pasta res/layouts crie um
arquivo chamado activity_notificacao.xml. Ele deve conter o seguinte conteúdo:
<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:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".NotificacaoActivity"
>
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="176dp"
android:text="@string/notificao"
/>
</RelativeLayout>
|
Crie um arquivo chamado NotificacaoActivity.java com
o seguinte conteúdo:
package br.com.ck.notificacao;
import android.app.Activity ;
import android.app.Notification ;
import
android.app.NotificationManager ;
import android.app.PendingIntent ;
import android.content.Intent ;
import android.os.Bundle ;
import android.view.View ;
import android.widget.Button ;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button
criarNotificacao = (Button) findViewById(R.id.btn_criar_notificacao);
criarNotificacao.setOnClickListener(new
View.OnClickListener() {
@Override
public void
onClick(View arg0) {
Intent
intent = new Intent(MainActivity.this, NotificacaoActivity.class);
PendingIntent
pendingIntent = PendingIntent.getActivity(MainActivity.this, 0, intent,
0);
Notification
notification = new
Notification.Builder(MainActivity.this)
.setContentTitle("Titulo da
notificacao")
.setContentText("Texto da notificação")
.setSmallIcon(R.drawable.ic_launcher)
.setContentIntent(pendingIntent).getNotification();
notification.flags |= Notification.FLAG_AUTO_CANCEL ;
NotificationManager
notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
notificationManager.notify(0,
notification);
}
});
}
}
|
0 comentários:
Postar um comentário