notification 通知 即在通知栏发消息,例如短信到来,发现软件更新都可以在手机上方的通知栏看见,下拉屏幕即可看见通知
1布局
<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"
tools:context=".MainActivity" >
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="click"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:text="Button" />
</RelativeLayout>
2MainActivity
package com.example.a105notification;
import android.os.Bundle;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.Notification;
import android.app.Notification.Builder;
import android.app.NotificationManager;
import android.graphics.BitmapFactory;
import android.view.View;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
//需要用到系统服务
//压制报错 使用了新的API
@SuppressLint("NewApi")
public void click(View view) {
NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
//指定消息显示的样式
Notification.Builder builder = new Builder(this);
builder.setContentTitle("我是notification标题")
.setSmallIcon(R.drawable.sym_action_add)
.setContentText("我是notification内容")
.setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher));
Notification notification = builder.build();
// para1 id便于控制消息显示与消失 不用则写0 para2 notification类 表示通知的具体内容
nm.notify(0, notification);
//为了向下兼容2.3 需使用废弃的类 此处不作详述
}
}