提醒通知对话框

常见对话框

确定取消对话框 AlertDialog.Builder

    //创建警告框对象
    AlertDialog.Builder ad = new Builder(this);
    //给对象添加标题
    ad.setTitle("hey");
    //添加显示的信息
    ad.setMessage("hello guys");

    //添加确定按钮
    ad.setPositiveButton("確定", new OnClickListener() {
        //点击确认时弹出土司
        @Override
        public void onClick(DialogInterface dialog, int which) {
            Toast.makeText(MainActivity.this, "確定咯~~~~~", 0).show();
        }
    });
    //添加取消按钮
    ad.setNegativeButton("取消", new OnClickListener() {
        //点击取消时,弹出吐司
        @Override
        public void onClick(DialogInterface dialog, int which) {
            Toast.makeText(MainActivity.this, "取消咯~~~~~", 0).show();
        }
    });

    //对话框显示在界面上
    ad.show();

单选对话框 AlertDialog.Builder

    //创建警告框对象
    AlertDialog.Builder ad = new Builder(this);
    //添加属性
    final String[] items = new String[] { "男", "女", "你猜" };
    //添加单选选项
    ad.setSingleChoiceItems(items, 0, new OnClickListener() {
        //点击时弹出土司
        @Override
        public void onClick(DialogInterface dialog, int which) {
            Toast.makeText(MainActivity.this, "性別: " + items[which],
                    Toast.LENGTH_SHORT).show();
            //选择后关闭单选对话框
            dialog.dismiss();
        }
    });
    //将对话框显示在界面上
    ad.show();

多选对话框 AlertDialog.Builder

    //建立一个对话框对象
    AlertDialog.Builder ad = new Builder(this);

    //设置选项的值
    final String[] items = new String[]{"草莓","橘子","菠萝","苹果","香蕉"};
    //默认都不被选中
    final boolean[] checkedItems = new boolean[]{false,false,false,false,false};

    final StringBuilder sb = new StringBuilder();
    //添加多选选项
    ad.setMultiChoiceItems(items, checkedItems, new OnMultiChoiceClickListener() {

        @Override
        public void onClick(DialogInterface dialog, int which, boolean isChecked) {
            //哪项被选中后将值付给checkedItems
            checkedItems[which] = isChecked;
        }
    });
    //添加确定按钮
    ad.setPositiveButton("选择完毕", new OnClickListener() {

        @Override
        public void onClick(DialogInterface dialog, int which) {

            for(int i = 0;i<checkedItems.length;i++){
                //如果 哪一个选项被选中了就把值取出来保存进sb中
                if(checkedItems[i]==true){
                    String food = items[i];
                    sb.append(food+" ");
                }
            }
            Toast.makeText(MainActivity.this, "喜欢吃的水果有:"+ sb.toString(), Toast.LENGTH_SHORT).show();
            //关闭对话框
            dialog.dismiss();
        }
    });
    //将对话框显示界面上
    ad.show();

进度对话框ProgressDialog

(pd.dismiss()方法可以被子线程调用)

圆圈的进度对话框

    //创建进度对话框的对象
    final ProgressDialog pd = new ProgressDialog(this);
    //给进度条添加标题
    pd.setTitle("正在刷新");
    //给进度条添加信息
    pd.setMessage("正在加载,请稍后");

    new Thread(){
        public void run(){
            try {
                Thread.sleep(3000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            //关闭进度对话框
            pd.dismiss();
        }
    }.start();
    //把对话框显示在界面上
    pd.show();

线条进度对话框

就是比进度多2条设置

    //将进度对话框的风格设置为横向的
    pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
    //设置进度条对话框的最大值
    pd.setMax(100);

    将进度值添加到进度条中

代码

    //创建进度对话框的对象
    final ProgressDialog pd = new ProgressDialog(this);
    //将进度对话框的风格设置为横向的
    pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
    //设置进度条对话框的最大值
    pd.setMax(100);
    //给进度条添加标题
    pd.setTitle("正在刷新");
    //给进度条添加信息
    pd.setMessage("正在加载,请稍后");

    new Thread(){
        public void run(){
            try {
                    for(int i = 0 ;i <=3 ;i ++){
                        Thread.sleep(500);
                        pd.setProgress(i*33);
                    }
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            //关闭进度对话框
            pd.dismiss();
        }
    }.start();
    //把对话框显示在界面上
    pd.show();

通知提醒



Toast对话框是显示在应用程序

通知提醒是显示在桌面的状态栏

第一种方式,适用于Android4.0以上的版本如果版本在4.0一下不会成功

    //通过服务获取通知管理者对象
    NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);

    //创建通知
    Notification noti = new Notification.Builder(this)
    //设置通知的标题
    .setContentTitle("注意")
    //设置通知的内容
    .setContentText("消息来了")
    //设置小图标
    .setSmallIcon(R.drawable.ic_launcher)
    //设置大图标
    .setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher))
    //配置生效
    .build();

    //设置标记为不可清楚
    noti.flags = Notification.FLAG_NO_CLEAR;
    //利用通知管理者对象发布通知
    //第一个属性是设置消息的ID,如果2条消息的id值相同,则第二条会取代第一条消息
    nm.notify(0, noti);

第二种方式通用(使用过时的api)

    //通过服务获取通知管理者对象
    NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
    //创建通知消息
    Notification noti = new Notification(R.drawable.ic_launcher, "通知来了", System.currentTimeMillis());
    // 设置标记为不可清除
    noti.flags = Notification.FLAG_NO_CLEAR;
    //创建隐式意图
    Intent intent = new Intent();
    //设置动作,打开拨号盘
    intent.setAction(Intent.ACTION_DIAL);
    //设置电话号码为110
    intent.setData(Uri.parse("tel://110"));
    //设置另外一个程序执行的意图
    PendingIntent pendingIntent = PendingIntent.getActivity(this, 1, intent, PendingIntent.FLAG_UPDATE_CURRENT);        
    //点击通知时会打开pendingIntent意图
    noti.setLatestEventInfo(this, "注意咯~", "发送成功鸟~~~~", pendingIntent);
    //利用通知管理者对象发布通知
    //第一个属性是设置消息的ID,如果2条消息的id值相同,则第二条会取代第一条消息
    nm.notify(2, noti);

注意

//创建隐式意图
    Intent intent = new Intent();
    //设置动作,打开拨号盘
    intent.setAction(Intent.ACTION_DIAL);
    //设置电话号码为110
    intent.setData(Uri.parse("tel://110"));
    //设置另外一个程序执行的意图
    PendingIntent pendingIntent = PendingIntent.getActivity(this, 1, intent, PendingIntent.FLAG_UPDATE_CURRENT);        
    //点击通知时会打开pendingIntent意图
    noti.setLatestEventInfo(this, "注意咯~", "发送成功鸟~~~~", pendingIntent);
    //利用通知管理者对象发布通知
    //第一个属性是设置消息的ID,如果2条消息的id值相同,则第二条会取代第一条消息
    nm.notify(2, noti);

上面的代码是当用户收到通知时,点击通知信息后,跳转到系统的拨号盘,并且拨号盘的内容为110

取消通知

取消所有的通知

    NotificationManager nm  =(NotificationManager) getSystemService(NOTIFICATION_SERVICE);
    nm.cancelAll();

取消指定的通知

    NotificationManager nm  =(NotificationManager) getSystemService(NOTIFICATION_SERVICE);
    //这里的id是上面发送消息时指定的id
    nm.cancel(1);
时间: 2024-08-30 04:05:08

提醒通知对话框的相关文章

自行扩展 FineUIMvc 通知对话框(多个并排显示不重叠,支持最新的显示在最上方)

声明:FineUIMvc(基础版)是免费软件,本系列文章适用于基础版. 这篇文章我们将改造 FineUIMvc 默认的通知对话框,使得同时显示多个也不会重叠.并提前出一个公共的JS文件,供大家使用. FineUIMvc 的通知对话框 FineUIMvc默认的通知对话框通过 F.notify 来显示,可以在页面上的 9 个位置显示,分别对应于属性: PosotionX = Left,  PositionY = Top PosotionX = Left,  PositionY = Center Po

WordPress添加评论回复邮件提醒通知功能

评论回复后,自动发一封邮件提醒评论人,是提高用户体验的一大举措.倡萌一直都在使用Willin Kan大师的评论回复邮件提醒通知代码,相信很多人也在使用,如果你还没有使用,不妨试试. 根据自己的需要,选择一种自己需要的代码,添加在主题的 functions.php 或者 pluggable.php(推荐) 文件的 最后一个 ?> 前面即可: 方法一:所有回复都发送邮件通知 默认所有填写了邮箱的评论都将发邮件提醒评论人,没有任何勾选设置. /* comment_mail_notify v1.0 by

(七)android 通知对话框,并且监听了返回键,当按下返回键也会创建一个对话框

一.activity_main.java中代码   1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/tools" 3 android:layout_width="match_parent" 4 android:layout_height="matc

安卓笔记3--SQLite数据库和对话框

现在介绍一下安卓如何操作数据库和几种常见的安卓对话框.老规矩,用一张图来介绍今天的内容. 图片看不清的话可以右键新窗口打开 一.SQLite数据库 SQLite,是一款轻量型的数据库,是遵守 ACID(原子性.一致性.隔离性.持久性)的关联式数据库管理系统,多用于嵌入式开发中. SQLite 数据库是无类型的,可以向一个 integer 的列中添加一个字符串,但它又支持常见的类型比如: NULL, VARCHAR, TEXT, INTEGER, BLOB, CLOB 等 1,创建一个数据库帮助类

各种对话框

1 package com.example.mydialog; 2 3 import android.os.Bundle; 4 import android.app.Activity; 5 import android.app.AlertDialog; 6 import android.app.AlertDialog.Builder; 7 import android.app.ProgressDialog; 8 import android.content.DialogInterface; 9

Notifications (通知、通告)

概述 许多典型的情况下会出现如下要求:要求你通知用户刚才在你应用中发生的事情.有时需要用户做出回应,有时却不需要.例如: 当文件存储完成时,一条安全的消息需要查收时 等这类事件. 如果应用工作在后台并且这时需要引起用户注意,应用应该创建一个通知允许且方便用户回应. 如果应用在执行用户必须等待的任务时(例如加载文件),应用应该显示一个进度条或进度圈. 使用不同的技术可以实现不同的通知任务: 一个土司提示(Toast Notification) ,简短消息. 一个状态栏提示(Status Notif

android中的常见对话框

在android中对话框是一种常见的操作,常见的对话框有下面几种: 以下是xml布局文件: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_heigh

(7)javascript的程序控制结构及语句------(2)循环控制语句、跳转语句、对话框

一.循环控制语句 循环语句主要就是在满足条件的情况下反复执行某一个操作,循环控制语句主要包括while语句.do...while语句 和for语句. 1.While语句 语法: While(条件表达式语句) { 执行语句块 } 当"条件表达式语句"的返回值为true时,则执行大括号"{ }"中的语句块,当执行完大括号"{ }"的语句块后,再次检测条件表达式的返回值,如果返回值还为true,则重复执行大括号"{ }"中的语句块,

Windows Phone 十三、通知中心

弹出通知对话框 1 <Grid> 2 <Button 3 Content="弹出通知" 4 Click="Button_Click"/> 5 </Grid> 1 private async void Button_Click(object sender, RoutedEventArgs e) 2 { 3 ////创建对话框对象 4 //MessageDialog dialog = new MessageDialog("吐