Notification状态栏提示一般当有短信或qq消息的时候都会在顶部出现一个小图标,向用户提示未处理的快讯
实现步骤:
1、定义按钮
2、声明一个通知
3、获取意图绑定参数
4、开始执行通知
--------------------------------------------------------------------------
activity代码:
package com.example.notification;
import android.os.Bundle;
import android.R.drawable;
import android.R.integer;
import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.DialogInterface;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity implements OnClickListener{
private Button bt1;
private Button bt2;
private Button bt3;
private Button bt4;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bt1=(Button) findViewById(R.id.button1);
bt2=(Button) findViewById(R.id.button2);
bt3=(Button) findViewById(R.id.button3);
bt4=(Button) findViewById(R.id.button4);
bt1.setOnClickListener(this);
bt2.setOnClickListener(this);
bt3.setOnClickListener(this);
bt4.setOnClickListener(this);
}
//第一个参数 内容 第二个参数是文本标题 第三个参数是文本内容 最后两个都是穿的一个图片的地址
private void showNotification(String tickerText,String contentTitle,String contentText,int id,int resId ){
//声明获取通知
NotificationManager nManager=
(NotificationManager) getApplicationContext().getSystemService(android.content.Context.NOTIFICATION_SERVICE);
//定义通知内容
Notification nu=new Notification(resId,tickerText, System.currentTimeMillis());
//定义意图
PendingIntent pIntent=PendingIntent.getActivity(this, 0,getIntent(), 0);
//设置通知的参数
nu.setLatestEventInfo(this, contentTitle,contentText, pIntent);
//开始执行通知
nManager.notify(id,nu);
}
public void onClick(View arg0) {
switch (arg0.getId()) {
case R.id.button1:
showNotification("今天非常高兴", "今天买彩票中奖了", "中了五百万", R.drawable.ic_launcher, R.drawable.ic_launcher);
break;
case R.id.button2:
showNotification(" 这是为什么","Android Notifiction怎么用","谁能告诉我", R.drawable.ic_launcher,R.drawable.ic_launcher);
break;
case R.id.button3:
showNotification(" 心情不好","上班迟到","扣了半天的工资", R.drawable.ic_launcher,R.drawable.ic_launcher);
break;
case R.id.button4:
break;
default:
break;
}
}
}
----------------------------------------------------------------------------------------------------------------
布局文件的代码:
<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=".MainActivity" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="非常高兴" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="为什么" />
<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="心情很好" />
<Button
android:id="@+id/button4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="清除通知" />
</LinearLayout>
</RelativeLayout>
---------------------------------------------------------------------------
刚刚接触可能不是很理解,其实是通过一个按钮点击后通过调用方法来传递一些数据到我们的showNotification方法中去,再去设置我们要显示的数据,这里多定义了几个大家不要看晕了哟!