1. Toast Notification
实例:
实例:
实例:
public class MainActivity extends Activity {
private Button button;
private Button button2;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button) this.findViewById(R.id.button1);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Toast toast = Toast.makeText(MainActivity.this, "提示信息",Toast.LENGTH_LONG);
toast.setGravity(Gravity.CENTER, 0, 0);
toast.show();
}
});
button2 = (Button) this.findViewById(R.id.button2);
button2.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Toast toast = new Toast(MainActivity.this);
// 加载自定义布局
View view = LayoutInflater.from(MainActivity.this).inflate(R.layout.dialog, null);
ImageView imageView = (ImageView) view.findViewById(R.id.image);
imageView.setImageResource(R.drawable.a);
TextView textView = (TextView) view.findViewById(R.id.text);
textView.setText("自定义的吐司通知");
toast.setDuration(Toast.LENGTH_LONG);
toast.setGravity(Gravity.CENTER, 0, 0);
// 加载自定义的布局
toast.setView(view);
toast.show();
//统一UI风格,需要自定义的通知,声明在一个类中,可以反复调用
}
});
}
}
2. Status Notification
实例:
public class MainActivity extends Activity {
private Button button;
private NotificationManager manager;
private Notification.Builder builder;
private Button button2;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button) this.findViewById(R.id.button1);
button2 = (Button) this.findViewById(R.id.button2);
manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);// 创建一个通知的管理类
builder = new Notification.Builder(this);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this,MainActivity.class);
PendingIntent contentIntent = PendingIntent.getActivity(
MainActivity.this, 0, intent, 0);
builder.setContentIntent(contentIntent);
builder.setContentTitle("new notification is coming");
builder.setContentText("hellow world");
builder.setTicker("有通知来了");// 第一次出现在状态栏的内容
builder.setSmallIcon(R.drawable.notification);
// Notification.DEFAULT_ALL 所有的提示都是默认的
// DEFAULT_LIGHTS 默认的闪光
// DEFAULT_SOUND 默认的铃声
// DEFAULT_VIBRATE 默认的震动 <uses-permission
// android:name="android.permission.VIBRATE"/>
// builder.setDefaults(Notification.DEFAULT_ALL);
// Uri uri = Uri.parse("file:///mnt/sdcard/XXX.mp3");
// builder.setSound(uri);//提示用户可以自定义设置铃声
Notification notification = builder.build();// 仅仅限于在高版本4.1中使用
// notification.defaults=Notification.DEFAULT_SOUND;在低版本中使用的
manager.notify(1000, notification);
}
});
button2.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
RemoteViews contentViews = new RemoteViews(getPackageName(),
R.layout.custom_notification);
contentViews.setImageViewResource(R.id.image,
R.drawable.notification);
contentViews.setTextViewText(R.id.title, "自定义通知的标题");
contentViews.setTextViewText(R.id.text, "自定义通知的内容");
Intent intent = new Intent(MainActivity.this,MainActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(
MainActivity.this, 0, intent, 0);
builder.setContentIntent(pendingIntent);
builder.setContent(contentViews);// 指定自定义布局
Notification notification = builder.build();
manager.notify(1001, notification);
}
});
}
}