8.0版本之后的广播
问题 今天做实验时写了两个类继承自广播类,注册静态广播,但是却怎么也收不到静态广播消息 解决 123Android 8.0 以前,对于静态注册的广播接收器,发送自定义广播时只需构造Intent并设置action,然后调用sendBroadcast(intent)即可发送;而在Android 8.0 之后,参照官方文档,对于静态注册的广播接收器的管理更为严格,以上代码已不再适用,还需添加如下代码才能实现。(Android 8.0官方文档在文末给出)intent.setComponent(new ComponentName("pkg","cls")); 其中pkg为项目包名,cls为静态注册的广播接收器的完整路径。例如: 1intent.setComponent(new ComponentName("com.example.broadcasttest","com.example.broadcasttest.MyBroadcastReceiver")); 1也就是说Android 8.0...
Android intent
Intent解析的匹配规则 动作Action检测 一个Intent Filter元素至少应该包含一个Action,否则任何一个Intent请求都不能与之匹配成功; 如果一个Intent Filter包含多个Action,只要其中一个Action匹配Intent请求中的Action成功,则该Intent Filter匹配成功; 例如: 1234567891011<intent-filter> <action android:name="com.example.project.SHOW_CURRENT" /> <action android:name="com.example.project.SHOW_RECENT" /> <action android:name="com.example.project.SHOW_PENDING" /> . ....
git学习
...
git使用
推送本地代码到远程仓库 推送分为 3 步: 添加要推送的文件 (git add test.md) 提交到本地仓库(git commit -m “我自己的提交”) 推送到远程仓库(git push -u origin master)这里是说推送主分支库 克隆远程代码到本地 首先删除当前目录下同名的文件夹 git clone (git ssh地址) git log命令查看: 在实际工作中,我们脑子里怎么可能记得一个几千行的文件每次都改了什么内容,不然要版本控制系统干什么。版本控制系统肯定有某个命令可以告诉我们历史记录,在Git中,我们用git log命令查看 git log命令显示从最近到最远的提交日志 如果嫌输出信息太多,看得眼花缭乱的,可以试试加上--pretty=oneline参数: 1234$ git log --pretty=oneline1094adb7b9b3807259d8cb349e7df1d4d6477073 (HEAD -> master) append GPLe475afc93c209a690c39c13a46716e8fa000c366 add...
win10右键新建文件添加自定义文件
win10 右键新建文件添加自定义文件 参考链接 win+r 打开regedit 进入HKEY_CLASSES_ROOT 中的 .md (MarkDown文件实例,添加其他格式的文件就找其他文件的后缀) 右击.md 新建项 ShellNew 点击ShellNew,右边空白处新建字符串值,名为NullFile
汇编学习第十五章
实验 安装新的int 9 中断例程 安装一个新的int 9中断例程,功能:在DOS下,按下“A”键后,除非不松开,如果松开,就显示满屏幕的“A”,其他的键照常处理。 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566assume cs:codecode segment start: sli ;防止在设置中断向量表之前出现有键盘输入导致错误 mov ax, cs mov ds, ax mov si, offset int9 mov ax, 0 mov es, ax mov di, 204h ;[200]与[202]要存放原int 9的IP和CS mov cx, offset int9_end -...
汇编学习第十三章
实验13(1) (1)编写并安装int 7ch中断例程,功能为显示一个用0结尾的字符串,中断例程安装在0:200处。 参数: (dh)=行号, (dl)=列号, (cl)=颜色 ds:si指向字符串首地址 以上中断例程安装好后,对下面的程序进行单步跟踪,尤其注意int,iret指令执行前后cs,ip的和栈中的状态。 123456789101112131415161718192021222324252627282930313233assume cs:codedata segment db 'Welcome to masm!', 0data endscode segmentstart: mov dh, 10 ;所在行数:11行 mov dl, 10 ;所在列数:11列 mov cl, 2 ;字符属性 mov ax, data mov ds, ax mov si, 0 ;入口参数ds:si指向字符串data ...
汇编学习第十二章
中断向量表 8086系统在存储器的最低1KB区域(00000H~003FFH)建立一个中断向量表,存放256个中断类型的中断向量。这1024个单元被分成256组,每组包括4个字节单元,存储一个中断向量的段基址和段内偏移地址,高2个字节用於存放段基址,低两个字节用於存放段内偏移地址。 8086系统把中断向量表中的中断明确分为3个部份: 1.专用中断:类型号0~4(所以中断不是从1开始,而是0) 2.系统备用中断:类型号5~31H 3.用户中断:类型号32H~0FFH ##检测点12.1分析: 0000:0000 68 10 A7 00 8B 01 70 00-16 00 9D 03 8B 01 70 00 问3号对应的 处理程序入口 计算中断服务入口地址的方法是: 从内存地址为中断类型码*4和中断类型码*4+2的两个字单元中读取中断处理过程的入口地址设置IP和CS 0000:0000 68 10 A7 00 8B 01 70 00-16 00 9D 03 8B 01 70 00 段基址:偏移地址 0 1 2 3 4 5 6 7 8 - 9 10 11 12 13 14...
汇编学习第十一章
补码 及 溢出判断 标志寄存器 ZF标志 flag的第6位是ZF,零标志位(zero flag)。 它记录相关指令(add、sub、mul、div、inc、or、and操作)执行后,结果是否为0 。ZF = 1结果不为0,ZF = 0结果为0。 mov、push、pop等传送指令不修改标志寄存器的信息。 PF标志 flag的第2位是PF,奇偶标志位。 它记录指令执行后,结果的所有二进制位中1的个数是否为偶数,如果为偶数则PF = 1,为奇数,PF = 0。 SF标志 flag的第7位是SF,符号标志位。 它记录指令执行后,结果是否为负(就是看它二进制的第一位是不是1),如果为负数则SF = 1,结果为正, SF =...
汇编学习第十章
call 和 ret指令 call和ret指令 (都为绝对地址) call和ret指令都是转移指令,它们都修改IP,或同时修改CS和IP。 (call指令保存的IP是call指令的下一个ip) 它们经常被共同用来实现子程序的设计。 ret和retf ret指令用栈中的数据,修改IP的内容,从而实现近转移; retf指令用栈中的数据,修改CS和IP的内容,从而实现远转移。 CPU执行ret指令 0时,进行下面的两步操作: (1)(IP) = ((ss)*16 +(sp)) (2)(sp) = (sp)+2 CPU执行retf指令时,进行下面四步操作: (1)(IP) = ((ss)*16) + (sp) (2)(sp) = (sp) + 2 (3)(CS) = ((ss)*16) + (sp) (4)(sp) = (sp) + 2 用汇编语法来解释ret和retf指令,则: CPU执行ret指令时,相当于进行: pop IP CPU执行retf指令时,相当于进行: pop IP pop CS 例题 1 12345678910111213141516assume...