Android应用程序显示未读消息计数

在build.gradle下添加依赖

compile 'me.leolin:ShortcutBadger:1.1.16@aar'

显示


ShortcutBadger.applyCount(context, num);

删除

ShortcutBadger.removeCount(context);

附SharedPreferences工具类

创建Application

public class MyApplication extends Application {private static Context mTotalContext;

    private static int nScreenWidth;
    /**
     * 屏幕高度
     */
    private static int nScreenHeight;
    private List<Activity> activityList = new LinkedList<Activity>();
    private static MyApplication instance;


    @Override
    public void onCreate() {super.onCreate();
        mTotalContext = this.getApplicationContext();
    }//     版本号
    public static int getVersionCode() {try {return mTotalContext.getPackageManager().getPackageInfo(mTotalContext.getPackageName(), 0).versionCode;
        } catch (PackageManager.NameNotFoundException e) {e.printStackTrace();
        }return 0;
    }//    版本名称
    public static String getVersionName() {try {return mTotalContext.getPackageManager().getPackageInfo(mTotalContext.getPackageName(), 0).versionName;
        } catch (PackageManager.NameNotFoundException e) {e.printStackTrace();
        }return null;
    }/**
     * 获取屏幕宽高
     */
    public static void initScreen(Activity mActivity) {DisplayMetrics dm = new DisplayMetrics();
        mActivity.getWindowManager().getDefaultDisplay().getMetrics(dm);
        MyApplication.setnScreenWidth(dm.widthPixels);
        MyApplication.setnScreenHeight(dm.heightPixels);
//        Log.v("lg", "屏幕高和宽。。。" + dm.heightPixels + "....." + dm.widthPixels);
    }public static Context getTotalContext() {return mTotalContext;
    }/**
     * 设置屏幕宽度,在MainActivity,LoadingActivity调用
     */
    public static void setnScreenWidth(int nScreenWidth) {MyApplication.nScreenWidth = nScreenWidth;
        if (nScreenWidth != 0)
//            SpsUtil.editInt(R.string.SCREEN_WIDTH, nScreenWidth);
            ShareUtil.sharedPint("www", nScreenWidth);
    }public static int getnScreenWidth() {if (nScreenWidth == 0)
//            nScreenWidth = SpsUtil.getInt(R.string.SCREEN_WIDTH);
            nScreenHeight= ShareUtil.getSharedInt("www");
        return nScreenWidth;
    }/**
     * 设置屏幕高度,在MainActivity,LoadingActivity调用
     */
    public static void setnScreenHeight(int nScreenHeight) {MyApplication.nScreenHeight = nScreenHeight;
        if (nScreenHeight != 0)
//            SpsUtil.editInt(R.string.SCREEN_HEIGHT, nScreenHeight);
            ShareUtil.sharedPint("hhh", nScreenHeight);
    }public static int getnScreenHeight() {if (nScreenHeight == 0)
//            nScreenHeight = SpsUtil.getInt(R.string.SCREEN_HEIGHT);
            nScreenHeight= ShareUtil.getSharedInt("hhh");
        return nScreenHeight;
    }
}

创建ShareUtil

public class ShareUtil {private static SharedPreferences sp;
    private static Context mContext;
    // preferences.edit().clear().commit();  清空数据
    private static void initContext() {if (mContext == null){mContext = MyApplication.getTotalContext();
            sp= mContext.getSharedPreferences("lg", 0);
        }}public static int  getSharedInt(String key){initContext();
        int re = 0;
        re = sp.getInt(key, 0);
        return re;
    }public static int getSharedInt(int nResID) {initContext();
        return sp.getInt(mContext.getString(nResID), 0);

    }public static String getSharedString(int nResID) {initContext();
        return sp.getString(mContext.getString(nResID), "");
    }public static String getSharedString(String key){initContext();
        String s = sp.getString(key,"");
        return s;
    }public static long getSharedlong(String key){initContext();
        long s = sp.getLong(key, 0);
        return s;
    }public static long getSharedlong(int nResID){initContext();
        long s = sp.getLong(mContext.getString(nResID), 0);
        return s;
    }public static void sharedPint(String key,int value){initContext();
        SharedPreferences.Editor editor = sp.edit();
        editor.putInt(key, value);
        editor.commit();
    }public static void sharedPint(int nResID, int content) {initContext();
        sp.edit().putInt(mContext.getString(nResID), content).commit();
    }public static void sharedPstring(int nResID, String strContent) {initContext();
        if (TextUtils.isEmpty(strContent))strContent = "";
        sp.edit().putString(mContext.getString(nResID), strContent).commit();
    }public static void editLong(int nResID, long content) {initContext();
        sp.edit().putLong(mContext.getString(nResID), content).commit();
    }public static void editLong(String strKey, long content) {initContext();
        sp.edit().putLong(strKey, content).commit();
    }public static void sharedPstring(String key,String value){initContext();
        SharedPreferences.Editor editor = sp.edit();
        editor.putString(key,value);
        editor.commit();
    }public static void deleP(){initContext();
        sp = mContext.getSharedPreferences("lg",0);
        sp.edit().clear().commit();
    }
}

使用

int num = ShareUtil.getSharedInt("num");
num++;
ShareUtil.sharedPint("num",num);
ShortcutBadger.applyCount(context, num);


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/415776.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软件质量的理解 摘录

对软件质量进行评估是软件测试的一个重要目的。软件测试人员必须理解软件质量的定义和度量原理。 质量是指产品或服务满足显式或隐含需求能力的功能和特性的总和。 我们在测试中&#xff0c;除了分析客户的显式需求外&#xff0c;还要分析客户的隐含需求&#xff1a; 显式需…

node 微信红包 证书出错,请登录微信支付商户平台下载证书

按照官方文档写的代码&#xff0c;测试给自己发红包时&#xff0c;提示证书出错&#xff0c;请登录微信支付商户平台下载证书。 我是用的superagent库&#xff0c;错误前的核心代码是: const url https://api.mch.weixin.qq.com/mmpaymkttransfers/sendredpack; const xml …

android Dialog提示框。单选项dialog,多选项dialog,EditText键盘不弹出

AlertDialog alertDialog new AlertDialog.Builder(MainActivity.this).create(); alertDialog.setMessage("You have system write settings permission now."); alertDialog.show(); private void showNormalDialogOne() {/* setIcon 设置对话框图标* setTitle 设…

同一台机器上安装2个SDE服务

同一台机器上安装2个SDE服务环境&#xff1a;Windows Server 2008 R2 x64Oracle 10gArcSDE 9.3 适用于数据库中SDE表空间以及SDE用户已经创建。 1&#xff1a;拷贝C:\Program Files (x86)\ArcGIS\ArcSDE\目录下ora10gexe文件夹2份&#xff0c;分别命名ora10gexeA、ora10gexeB。…

node 微信开发 json转xml 格式

在微信开发中&#xff0c;大多请求接口格式需要传xml&#xff0c;所以提供一下微信适用的json转xml格式代码: json2Xml: (json) > {let _xml ;Object.keys(json).map((key) > {_xml <${key}>${json[key]}</${key}>})return <xml>${_xml}</xml>…

用C语言实现:判断1000-2000年之间的闰年。

在编程之前&#xff0c;首先我们要了解闰年的定义&#xff1a; 1、普通年能整除4且不能整除100的为闰年。2、世纪年能整除400的是闰年。 了解概念后&#xff0c;我们首先需要用for循环控制输入的年份&#xff0c;然后再循环内使用if语句判断上述的两个条件是否成立。 #include&…

android 原生调用js,js调用原生

原生调用js方法&#xff0c;带参数 activityBaseWebAddWebView.loadUrl("javascript:changeColor(" viewColor ")");//changeColor是js方法&#xff0c;viewColor是参数 js调用原生 1、创建js通信接口 //js通信接口 class JavascriptInterface {…

关于测试中常用到的一些方法、策略总结

一些常用模块的测试用例 1、登录  2、添加  3、查询  4、删除 1、登录 ①用户名和密码都符合要求&#xff08;格式上的要求&#xff09; ②用户名和密码都不符合要求&#xff08;格式上的要求&#xff09; ③用户名符合要求&#xff0c;密码不符合要求&#xff08;格…

【BZOJ1976】[BeiJing2010组队]能量魔方 Cube 最小割

【BZOJ1976】[BeiJing2010组队]能量魔方 Cube Description 小C 有一个能量魔方&#xff0c;这个魔方可神奇了&#xff0c;只要按照特定方式&#xff0c;放入不同的 能量水晶&#xff0c;就可以产生巨大的能量。 能量魔方是一个 N*N*N 的立方体&#xff0c;一共用 N3 个空格可以…

android activity调用Adapter方法刷新列表UI,RecyclerView.Adapter

在adapter中创建被调用方法cleckAll public class JYfkleixinAdapter extends RecyclerView.Adapter<JYfkleixinAdapter.ViewHolder> {private Context context;private OnItemClickListener mOnItemClickListener;private List<JyfkEntity> entityList;public JY…

vuex 对象嵌套属性的修改 mutations set 很方便的写法

需求&#xff1a;一个对象 const state {user: {verify: {state: 0}} }我需要使用类似this.set({ user.verify.state: 1 })这种写法直接获取或修改state[user.verify.state]的值。不知道别人怎么写的&#xff0c;我的写法如下&#xff1a; const mutations {set(state, par…

eclipse/myeclipse中快捷键 Ctrl+shift+down/up 出现屏幕颠倒的解决方法

1.原因&#xff1a;快捷键被占用 2.解决 如果是被其它软件占用&#xff0c;则修改其它软件的快捷键。 查看快捷键是否被占用工具&#xff1a;http://download.csdn.net/download/muyeju/9999443    如果是Integer占用&#xff0c;则禁用快捷键&#xff0c;桌面右击->图形选…

android 获取图片主色调

在build.gradle添加依赖 compile com.github.florent37:glidepalette:1.0.6 使用 TextView tvColor(TextView) findViewById(R.id.testte); ImageView imageView (ImageView)findViewById(R.id.testimage); tvColor.setText(style); ImageManager.loadAndPalette(MainActivity…

基于B/S架构的故障模型

基于B/S架构的故障模型 基于&#xff22;/&#xff33;架构的软件进行的测试&#xff0c;主要进行的有功能测试、性能测试、安全性测试、配置和兼容性测试、可用性测试、安装部署测试、用户手册、在线帮助测试等。下列分别介绍这些测试的内容。 &#xff11;、 功能…

mongoose 更新元素 DeprecationWarning: collection.update is deprecated. Use updateOne, updateMany

我一开始的写法: const updOne await this.update({ _id: verify_id }, {$set: {// 认证通过&#xff0c;状态设置为1state: 1,// 审核操作人verify_user,verify_at: Date.now()} });使用mongoose更新元素值&#xff0c;报错了DeprecationWarning: collection.update is depr…