精华内容
下载资源
问答
  • 在Chrome42版本的时候,谷歌为其加入了网站通知功能,这个功能就是在使用Chrome浏览器访问一个新网站时,网站旁边就会出现一个「发送通知」的提示,但是我们关闭浏览器的情况下也能收到这些网站的消息,就会非常烦恼...

    在Chrome42版本的时候,谷歌为其加入了网站通知功能,这个功能就是在使用Chrome浏览器访问一个新网站时,网站旁边就会出现一个「发送通知」的提示,但是我们关闭浏览器的情况下也能收到这些网站的消息,就会非常烦恼。今天小编就来教大家如何永久屏蔽Chrome浏览器上的网站通知功能。
    1、点击Chrome浏览器右上角的设置。
    在这里插入图片描述2、在设置页面中找对最下方的高级选项。
    在这里插入图片描述3、选择内容设置-通知。
    在这里插入图片描述
    在这里插入图片描述4、点击发送前询问后方的小圆点即可关闭该功能,当然如果你只是想要阻止某个网站的通知的话,在禁止中添加该网站地址即可。
    在这里插入图片描述如果觉得这样一步步的太麻烦可以手动复制下方的链接到Chrome的地址栏:
    chrome://settings/content/notifications
    也可以打开关闭此功能页面。
    如果有帮助到大家不妨收藏一下本站,可以获取更多实用教程哦!
    以上就是MacW小编为大家带来的“Mac小技巧:如何屏蔽Chrome上的网站通知功能”,本文关键词:“Chrome浏览器发送通知,永久屏蔽Chrome浏览器上的网站通知”。

    展开全文
  • oppo通知栏的那些事儿(如何分析系统级应用)前言:oppo系统的默认禁止了第三方应用向通知栏发送通知,它的设置里面有个通知栏的开关,默认是关闭的,导致了我们发送的通知都展示不出来。只有手动打开了才可以展示。...

    oppo通知栏的那些事儿(如何分析系统级应用)

    前言:

    oppo系统的默认禁止了第三方应用向通知栏发送通知,它的设置里面有个通知栏的开关,默认是关闭的,导致了我们发送的通知都展示不出来。只有手动打开了才可以展示。既然可以打开那么我们可是否可以直接用代码去打开这个开关从而让我们的应用可以弹出通知栏呢?既然有了目标就开干。oppo通知栏设置界面

    分析:

    分析这一类的问题,就是通过系统的log定位稳定,插上oppo的手机,在通知管理的界面里面,随便点击一个条目,过滤tag为ActivityManager,看系统调用的log。
    通知栏启动log
    可以很清晰的看到调用了哪个包,哪个Activity.这里我们直接定位到这一行log。

    START u0 {act=com.coloros.notificationmanager.app.detail cmp=com.coloros.notificationmanager/.AppDetailPreferenceActivity (has extras)} from uid 1000 from pid 2086 on display 0

    既然知道了是这个com.coloros.notificationmanager包就可以导出这个包对应的APK反编译查看到底调用了哪行代码了。

    动手:

    如果想知道这个包名对应的app叫什么,手机上安装一个包名查看器,看下这个包名对应是什么东西。包名查看器

    看到了吧有个通知栏管理的系统应用,那么我们就开始动手搞吧,看它是怎么搞的。adb进入到/system/app目录下ls一下。

    ls查看文件

    看起来有点像它,那么就abd pull导出来看一波吧。

    F:>adb pull /system/app/notification_center D:/notification_center

    /system/app/notification_center/: 4 files pulled…files skipped. 6.2 MB/s (603955 bytes in 0.093s)

    导出来是一个文件夹,是个这个东西。

    导出来的东西

    看了下是经过系统odex的应用,无法直接使用dex2jar进行反编译查看,因为要先经过一次odex->dex才能使用dex2jar反编译。网上都说使用baksmali这个工具转换,baksmali
    但是使用这个工具有个缺陷就是只能反编译一次然后看一次报错在从系统里面导出需要的依赖包,重复这个动作,然后直到没有报错。这可不是我想要的。这里介绍一款比较强大的工具。

    lordrid介绍:lordrid是一款可以直接导出系统应用的插件,支持直接插上手机直接导出系统应用,导出系统system目录,分析反dex的过程,经过lordrid出来的apk就使我们一般打包没有经过odex的apk,省去了我们很多重复的工作。更多的介扫请看官方介绍

    下载好lordrid,它下载好了就是这个样子。

    然后我们进入到这个目录下面直接运行这个jar就好了。

    D:\反编译\lordrid_v1.27>java -jar Launcher.jar

    然后软件起来了,直接插上手机,点一下Refresh,然后软件就会识别到手机,点击Deodex now!那么软件就会跑起来了。如果很幸运你的system目录就会自动被导出来,如果倒不出来悲剧了,就跟我一样。
    悲剧界面

    不能直接导出,那么就换手动导出吧。它还有一种模式from Folder,这个时候我们在adb下面导出系统的sytem目录。

    C:\Users\edsheng>adb pull /system/ D:/system

    adb: error: failed to copy ‘/system/etc/partition_permission.sh’ to ‘D:/system\etc\partition_permiss
    ion.sh’: Permission denied

    导出到etc这个目录的时候挂了。提示没有权限,打开我们导出的目录看一下。

    导出的东西

    are you kidding me? 我要的是系统的app目录,但是app目录却没有导出来?这个时候就需要换一个方向,可以看到这里导出来一个priv-app这个目录也是属于系统级别的,也是可以用Lordrid这个工具反odex的,最开始我们都把notification_center这个app给导出来,那么我就直接把放在priv-app这个目录下面去吧。这下一切工作都准备就绪了。直接用Loridrid这个工具的From Folder选项吧,把目录选正确。Deodex now!
    正在deodex

    等待工具到百分之百。然后打开我们选取的目录下面得到我们需要的notification_center看是不是我们需要的没有进过odex的包。路径都没变化。还是在我们的system/priv-app下面,打开我们的notification_center目录,可以看到这就是我们需要的没有经过odex的apk。

    有了这个东西我们就很好分析了。解压一下拿到classes.dex然后dex2jar一下,开始分析。根据刚开始抓的log直接进入AppDetailPreferenceActivity这个类。


    注意我标红的这一句看起来就是这个东西啊,那么我们跟进去一下.

    关键代码。感觉走到了人生巅峰,既然看到了它是怎么调用的我们是不是也有机会了。分析下代码,通过INotificationManager这个接口,拿到NotificationManager然后调用setNotificationsEnabledForPackage,既然都分析到位了,我们就可以写代码了。注意不能用标准的getservcie来调用这个INotificationManager因为它不是SDK里面的代码,在源码里面已经标准为@hid,那么我们就反射吧。这个可是java的强项、反射代码如下。

    try {
    
            Class servicemanager =  Class.forName("android.os.ServiceManager");
            Method getservice = servicemanager.getMethod("getService",String.class);
            Class notificationManagersub = Class.forName("android.app.INotificationManager$Stub");
            Method asInterface = notificationManagersub.getDeclaredMethod("asInterface",Class.forName("android.os.IBinder"));
            Object notificaitonmanager = asInterface.invoke(notificationManagersub,getservice.invoke(servicemanager,"notification"));
            Method setnotificationenableforpackge = notificaitonmanager.getClass().getMethod("setNotificationsEnabledForPackage",String.class,int.class,boolean.class);
            setnotificationenableforpackge.invoke(notificaitonmanager,"com.oppo.notification.demo",-1,true);
        } catch (Exception e) {
            e.printStackTrace();
        }
    

    ps:如果是hide类型的方法也可以不用反射调用,可以使用带hide包的SDK,直接调用。但是需要自己去编译或者网上下载。

    感觉似乎一切都是那么完美,但是一调用就傻逼了直接报了异常。

    Caused by: java.lang.SecurityException: Disallowed call for uid 10095
    10-18 11:31:41.302 19966-19966/com.oppo.notification.demo W/System.err: at android.os.Parcel.readException(Parcel.java:1556)
    10-18 11:31:41.302 19966-19966/com.oppo.notification.demo W/System.err: at android.os.Parcel.readException(Parcel.java:1509)
    10-18 11:31:41.302 19966-19966/com.oppo.notification.demo W/System.err: at android.app.INotificationManagerStubProxy.setNotificationsEnabledForPackage(INotificationManager.java:602)

    到底是怎么回事呢,本着追根到低的办事方法,记得最开始我们通过lordrid这个工具导出了系统system目录,同时进行了deodex,我们就看看在它的framework.jar里面是怎么调用的。找到system/framework/services.jar因为安卓的用到的service基本上都在这个里面,直接通过查看一下我们需要的代码。还是通过dex2jar把service.jar转成java代码直接查看。

    直接找到了这个方法,可以看到上面有一个access方法,估计就是用来检测权限的,通过进程的调用的uid来区分是否有权限,虽然没有达到我们想要开启通知栏的目的,但是从上到下,基本上都过了一遍。最后还是没能通过代码来解决这个问题。

    后记:其实我还有一个下想法就是通过app_process 这个进程来运行我们的代码,这样执行的代码就能拿到更高的权限,但是目前对我们的项目好像没有太大的帮助所以没有进行尝试。

    总结:

    分析系统应用一般步骤:

    1.通过系统log定位到问题

    2.找到相应的app进行deodex

    3.反编译进行分析

    4.得出结论

    在分享一遍系统deodex的神器:Lordroid,在分析系统应用的时候可能会遇到一些其他的坑,欢迎交流。

    展开全文
  • 我是被分配到网易雷火伏羲实验室(面试官讲的),笔试题目偏简单,都是前端基础题;...如何禁止变量提升什么是浅拷贝?简单的浅拷贝如何实现ES6 有没有新增什么简单的方法浅拷贝怎么实现一个简单...

    我是被分配到网易雷火伏羲实验室(面试官讲的),笔试题目偏简单,都是前端基础题;面试流程还算挺快的,5.11开始一面的,5.20 早上10点面完 hr,暂未收到通知。

    一面 2020/5/11 45min

    H5 和 C3 的新特性

    例举 3 个你最不常用的 css 特性

    什么是变量提升?如何避免变量提升?如何禁止变量提升

    什么是浅拷贝?简单的浅拷贝如何实现

    ES6 有没有新增什么简单的方法浅拷贝

    怎么实现一个简单类型的深拷贝,一行代码

    跨域知道哪几种

    你用过哪种?(JSONP) JSONP 的回调函数需要定义在什么地方

    浏览器存储你知道哪些

    cookie 和 webStorage 的区别

    cookie 是每次请求都会携带吗?怎么设置不携带 cookie

    满足某种条件才会不携带,然后设置某种参数才能携带

    某种请求默认不携带 cookie

    fetch 请求默认不携带 cookie

    vue-router 里面有两种路由模式是什么,区别是什么

    hash 模式 和 history 模式

    最大的区别:

    hash 模式不会把路径的变化发送到后端(hash 值变化不会导致浏览器向服务器发出请求), 而 history 模式会

    了解 SEO 吗?要做 SEO 的话要用哪种路由模式

    history 模式

    vue 里的 nextTick 有什么作用

    vue 哪些对数据的操作不是响应式的

    通过索引值修改数组中的元素 (虽然 data 被更改,但是 View 层不会发生变化可通过数组中的方法进行改变,或则使用 Vue 的 api:set()扯到了 vue3.0 的 proxy 方法

    vue3 现在是个什么状态?为什么不发布正式版本

    目前浏览器的生态还不足以支持 vue3,目前浏览器还不支持 vue3,再等待浏览器的升级。

    二面 2020/5/13 50min

    自我介绍

    项目

    rem 和 em 的区别

    项目城市切换是如何实现的

    vuex 是什么?主要功能呢

    浏览器缓存的过程

    服务器一定会将 Etag 发送给浏览器吗

    Etag 和 If-Modified-Since 的区别在哪

    禁用缓存的方式

    cookie 跟 localStorage 的区别

    localStorage 会传到服务器端吗?cookie 会传到服务器端吗

    服务器端能否修改 cookie

    服务器端操作 Cookie,主要注意会使用以下三个类:

    HttpCookie,HttpResponse,HttpRequest

    闭包

    问这是个闭包吗?

    reduce 方法了解吗?怎么用的map 方法了解吗?怎么用的

    promise 的 then 方法返回的是什么

    如何在控制台获取页面上所有的事件对象

    控制台可以显示页面需要的静态资源吗?在哪显示

    控制台 Network 里

    1***前端碰到问题是怎么解决

    三面 2020/5/18 50min

    自我介绍

    你科研用的是机器学习这块儿的东西,为什么不走这个方向

    介绍项目

    项目用了什么技术

    css 定位 absolute 和 fixed 的区别

    父子组建传值

    vuex

    vue底层原理

    vue-router两种路由模式?区别

    webpack原理

    webpack优化,比如 npm run build 很慢怎么解决

    遇到问题怎么解决

    给你一项任务限期内完成,你会怎么安排

    HR面 2020/5/20 30min

    实习时间是什么样子的

    玩过什么游戏

    游戏最高玩到什么样的级别

    现在为什么玩的少

    现在为什么想做游戏的web开发

    对游戏端web开发了解多少

    学习了什么框架

    讲讲你最出彩的项目

    为什么做这个项目

    项目遇到的难点

    项目的成果

    个人博客的进展是什么样子?搭博客的目的是什么

    校学生会做了什么 碰到什么难点 怎么解决 组织活动的频率

    有拿到其他哪家的 offer

    未来是打算呆在杭州吗

    觉得有用可以点个赞!最后欢迎关注我的公众号:互联网校招面经。每天一篇高质量互联网校招面经分享!每半个月定期总结归纳!关注后最新超详细面经精选直接拿走!!还有电子书福利赠送!!

    e155dc5b640040c17e5d4450e2fe4563.png

    df510e650a077fb6d05e2692dc365bcc.png

    70941e7ae7588d83cf043eebb4157b6f.png
    展开全文
  • twitter_autobase 一个可以读取您的DM的Twitter机器人,然后像Twitter autobase这样的推文。 该项目是对的重新编码,具有许多改进和已修复...月经是否发送通知发件人 推特GIF和视频 当字符> 280时发布主题 在github
  • 第九招:取消“磁盘空间不足”通知 当磁盘驱动器的容量少于200MB时Windows XP便会发出“磁盘空间不足”的通知,非常烦人。可以打开“注册表编辑器”,定位到HKEY_CURRENT_USERSoftwareMi ...
  • 飞秋2013专业版

    2014-06-24 10:54:48
    八、如何设置对方消息到来时只进行通知不直接弹出对话框? 点击主界面的设置按钮,在发送、接收设置栏中进行设置。 九、如何保存和查看聊天记录? 如果您还没有设置保存聊天记录的话,请点击主界面上的设置按钮...
  • 飞秋FeiQv2.4修正版

    2008-11-23 17:27:11
    八、如何设置对方消息到来时只进行通知不直接弹出对话框? 点击主界面的设置按钮,在发送、接收设置栏中进行设置。 九、如何保存和查看聊天记录? 如果您还没有设置保存聊天记录的话,请点击主界面上的设置按钮...
  • 禁用U盘等其它硬件设备的一款企业级电脑监控软件……功能全面,操作方便,即使您是刚会使用电脑的新手,也完全可以操作(关于如何使用电脑监控软件,本软件包内含软件操作动画详细教程),使用这款电脑监控软件,您...
  • 禁用U盘等其它硬件设备的一款企业级电脑监控软件……功能全面,操作方便,即使您是刚会使用电脑的新手,也完全可以操作(关于如何使用电脑监控软件,本软件包内含软件操作动画详细教程),使用这款企业监控软件,您...
  • 冰河陷阱 v1.0

    2015-12-20 22:42:28
    原版“冰河”的使用说明中明确提到“作者允许并鼓励自由传播,但禁止用于商业用途或在传播的过程中以任何理由收取费用”,但最近却听说一个叫“冰河V60工作室”的网站利用这样“升级”出的“冰河”程序招收所谓...
  • java面试宝典

    2013-02-28 16:04:01
    170、Javascript如何发送一个Ajax请求? 41 171、AJAX都有哪些有点和缺点? 41 172、Ajax和javascript的区别? 41 Servlet部分 42 174、JAVA SERVLET API中forward() 与redirect()的区别? 42 178、如何现实servlet...
  • 千方百计笔试题大全

    2011-11-30 21:58:33
    170、Javascript如何发送一个Ajax请求? 41 171、AJAX都有哪些有点和缺点? 41 172、Ajax和javascript的区别? 41 Servlet部分 42 174、JAVA SERVLET API中forward() 与redirect()的区别? 42 178、如何现实servlet...
  • 69.如果客户端禁止 cookie 能实现 session 还能用吗? 70.spring mvc 和 struts 的区别是什么? 71.如何避免 sql 注入? 72.什么是 XSS 攻击,如何避免? 73.什么是 CSRF 攻击,如何避免? 七、异常 74.throw 和 ...
  • realplayer

    2010-08-18 10:57:02
    您同意由 DRM 启用和(或)执行的通信,包括未经进一步通知的 DRM 自动更新,而无论第 6 章节对 AutoUpdate 如何定义。 您同意保护和保障 RN 免于任何与使用第三方 DRM 有关的索赔。 b) 内容供应商使用本“软件”所...
  • Windows在向窗口发送WM_PAINT消息之前,总会发送一个WM_ERASEBKGND消息通知该窗口擦除背景,默认情况下,Windows将以窗口的背景色清除该窗口。 可以响应窗口(包括子元素)的WM_ERASEBKGND,以更改它们的背景。WM_...
  • C++MFC教程

    热门讨论 2013-05-21 13:37:15
    当然用户也可以定义自己的消息名称,也可以利用自定义消息来发送通知和传送数据。 2、谁将收到消息:一个消息必须由一个窗口接收。在窗口的过程(WNDPROC)中可以对消息进行分析,对自己感兴趣的消息进行处理。例如...
  • jira用户操作指南(详细版)

    热门讨论 2013-07-15 17:22:33
    你可能会收到包括问题主要信息以及带有问题超级链接的通知邮件。 要查看所有你创建的还没有解决的问题列表, 跳转到你的 用户配置页面,并点击 '我报告 & 开放的'过滤器。 如果JIRA管理员进行了高级配置, 你还可以 ...
  • 实例071 如何将字节单位B转换成GB、MB 和KB 108 实例072 身份证号从15位升到18位算法 109 第3章 面向对象编程思想 111 3.1 面向对象家族核心——类与类成员 112 实例073 面向对象编程核心——类、对象和引用 112 ...
  • 实例071 如何将字节单位B转换成GB、MB 和KB 108 实例072 身份证号从15位升到18位算法 109 第3章 面向对象编程思想 111 3.1 面向对象家族核心——类与类成员 112 实例073 面向对象编程核心——类、对象和引用 112 ...
  • 实例071 如何将字节单位B转换成GB、MB 和KB 108 实例072 身份证号从15位升到18位算法 109 第3章 面向对象编程思想 111 3.1 面向对象家族核心——类与类成员 112 实例073 面向对象编程核心——类、对象和引用 112 ...
  • windowsnt 技术内幕

    2014-04-09 20:47:17
    把打印纸类型分配给打印纸盒 客户机打印是如何进行的 访问一个网络打印机 远程管理打印机 将打印作业重新发送给另一个打印服务器 打印机缓冲池(Printer Pool)简介 创建打印机缓冲池 打印机缓冲池中打印机放置的物理...
  • 3、多种信号音电路 主要完成各种信号音的产生与发送,它由下列电路组成: A、450Hz拨号音电路 B、忙音发生电路 C、回铃音发生电路 D、25Hz振铃信号电路 4、CPU中央集中控制处理器电路 主要完成对系统电路的各种控制...
  • 重要提示,如果收到了b站的账号安全通知,可以考虑将Actions禁用一段时间,观望一段时间再进行使用,具体禁用步骤,请参考此Issues。 功能 自动获取经验(投币、点赞、分享视频) 直播辅助(直播签到,自动送出...
  • 程序开发范例宝典>>

    2012-10-24 10:41:28
    实例034 实现任务栏通知窗口 34 实例035 动画形式的程序界面 38 1.10 标题栏窗体 39 实例036 使窗体标题栏文字右对齐 39 实例037 没有标题栏但可以改变大小的窗口 39 1.11 设置窗体位置 40 实例...
  • 实例034 实现任务栏通知窗口 34 实例035 动画形式的程序界面 38 1.10 标题栏窗体 39 实例036 使窗体标题栏文字右对齐 39 实例037 没有标题栏但可以改变大小的窗口 39 1.11 设置窗体位置 40 实例038 ...
  • 实例034 实现任务栏通知窗口 34 实例035 动画形式的程序界面 38 1.10 标题栏窗体 39 实例036 使窗体标题栏文字右对齐 39 实例037 没有标题栏但可以改变大小的窗口 39 1.11 设置窗体位置 40 实例038 ...
  • 实例034 实现任务栏通知窗口 34 实例035 动画形式的程序界面 38 1.10 标题栏窗体 39 实例036 使窗体标题栏文字右对齐 39 实例037 没有标题栏但可以改变大小的窗口 39 1.11 设置窗体位置 40 实例038 设置窗体在屏幕中...
  • C#程序开发范例宝典(第2版).part02

    热门讨论 2012-11-12 07:55:11
    实例034 实现任务栏通知窗口 34 实例035 动画形式的程序界面 38 1.10 标题栏窗体 39 实例036 使窗体标题栏文字右对齐 39 实例037 没有标题栏但可以改变大小的窗口 39 1.11 设置窗体位置 40 实例038 设置窗体在...
  • C#程序开发范例宝典(第2版).part13

    热门讨论 2012-11-12 20:17:14
    实例034 实现任务栏通知窗口 34 实例035 动画形式的程序界面 38 1.10 标题栏窗体 39 实例036 使窗体标题栏文字右对齐 39 实例037 没有标题栏但可以改变大小的窗口 39 1.11 设置窗体位置 40 实例038 设置窗体在...
  • 在新的编程思想中,指针基本上被禁止使用(JAVA中就是这样),至少也是被限制使用。而在我们交换机的程序中大量使用指针,并且有增无减。 2、防止指针/数组操作越界 【案例1.2.1】 在香港项目测试中,发现ISDN话机...

空空如也

空空如也

1 2
收藏数 40
精华内容 16
关键字:

如何禁止发送通知