zoukankan      html  css  js  c++  java
  • 通知类工具类

    新人学习,仅供参考!
    package com.example.administrator.settingactivity.util;
    import android.app.Notification;
    import android.app.NotificationManager;
    import android.app.PendingIntent;
    import android.content.Context;
    import android.content.Intent;
    import android.content.SharedPreferences;
    import android.net.Uri;
    import android.provider.MediaStore;
    import android.widget.RemoteViews;

    import com.example.administrator.settingactivity.R;
    import com.example.administrator.settingactivity.activity.HelpActivity;

    /**
     * Created by Administrator on 2017/1/10.
     */

    public class NotificationUtil {
        //通知管理类
        private static NotificationManager manager;
        //通知
        private static Notification notification;
        //id
        private static final int ID=1;
        //是否开启通知
        public static boolean isOpenNotification(Context context){
            SharedPreferences sharedPreferences=context.getSharedPreferences("notification",context.MODE_PRIVATE);

            return sharedPreferences.getBoolean("open",true);
        }
        /**
         * 记录通知开启状态    重要记住部分
         */
        public static void setOpenNotification(Context context,boolean open){
            SharedPreferences sharedPreferences=context.getSharedPreferences("notification",context.MODE_PRIVATE);
            SharedPreferences.Editor editor=sharedPreferences.edit();
            editor.putBoolean("open",open);
            editor.commit();
        }

        /**
         * 取消通知
         */
        public static void cancle(Context context) {
            if(manager==null){
                manager= (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
            }
            manager.cancel(ID);

        }


        /**
         * 显示通知
         */
        public static void showNotification(Context context) {

            if (notification==null){
                notification = new Notification();//初始化
            }
            //标志
            notification.flags=Notification.FLAG_NO_CLEAR;
            //图标
            notification.icon= R.mipmap.ic_launcher;
            //提示内容
            notification.tickerText="新消息";
            //声音
            notification.sound= Uri.withAppendedPath(MediaStore.Audio.Media.INTERNAL_CONTENT_URI,"6");
            //震动
            notification.defaults |=Notification.DEFAULT_VIBRATE;
            notification.when = System.currentTimeMillis();
            //加载布局
            notification.contentView = new RemoteViews(context.getPackageName(),R.layout.layout_notification_appincon);
            //点击方式
            notification.contentIntent= PendingIntent.getActivity(context,1,new Intent(context,HelpActivity.class),PendingIntent.FLAG_UPDATE_CURRENT);
            //获取通知
            if (manager==null){
                manager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
            }
            manager.notify(ID,notification);

        }
        }

  • 相关阅读:
    对象数组深拷贝
    百度地图 轨迹
    vant mp-vue
    Nginx代理webSocket时60s自动断开, 怎么保持长连接
    python_传递任意数量的实参
    python_函数传递列表
    python_形参、实参
    python_函数、局部变量与全局变量
    python_三级字典
    python_字典的使用
  • 原文地址:https://www.cnblogs.com/ll-ouyang/p/6271122.html
Copyright © 2011-2022 走看看