电话

在android中监听呼出电话(电话拦截、修改呼出电话)

旧时模样 提交于 2019-12-23 11:41:03
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 在android中向外拨打电话时系统会发出一个有序广播,虽然该广播最终会被拔号器里的广播接收者所接收并实现电话拔打,但我们可以在广播传递给拔号广播接收者之前先得到该广播,然后清除传递给拔号广播接收者的电话号码,在拔号广播接收者接收到该广播时,由于电话号码为null,因此取消电话拔打。 具体实现: 1.定义广播接收者接收 android.intent.action.NEW_OUTGOING_CALL <receiver android:name=".OutgoingCallReceiver"> <intent-filter android:priority="1"> <action android:name="android.intent.action.NEW_OUTGOING_CALL"/> </intent-filter> </receiver> 2.添加权限 < uses-permission android:name = "android.permission.PROCESS_OUTGOING_CALLS" /> 3.实现代码 public class OutgoingCallReceiver extends BroadcastReceiver { public void onReceive

15.Django基础十一之认证系统

血红的双手。 提交于 2019-12-11 08:26:30
一 auth模块      我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统。此时我们需要实现包括用户注册、用户登录、用户认证、注销、修改密码等功能,这还真是个麻烦的事情呢。   Django作为一个完美主义者的终极框架,当然也会想到用户的这些痛点。它内置了强大的用户认证系统--auth,它默认使用 auth_user 表来存储用户数据,使用auth模块来进行用户认证,那么需要使用人家django自带的auth_user表来存储用户的信息数据。   模块导入: from django.contrib import auth   那么有人就有疑问 了,这个auth_user表并不是我们自己在models.py文件中创建的啊,这通过代码怎么操作啊?   其中一个往auth_user表里面添加数据的命令,可以先多添加几个用户,方便后面操作: python manage.py createsuperuser #要通过这个指令来创建用户,因为这个指令会将你的密码加密。          然后表中就有数据了:这个表里面的数据现在先关注username和password字段就可以了,其他的字段可为空。          User表具有以下字段: 内置的User模型拥有以下的字段: username: 用户名。150个字符以内。可以包含数字和英文字符,以及_、@、+、.和-字符

JAVA Web 实训项目 西蒙购物网

為{幸葍}努か 提交于 2019-12-11 02:17:18
(一)创建数据库 创建MySQL数据库simonshop,包含四张表:用户表(t_user)、类别表(t_category)、商品表(t_product)和订单表(t_order)。 (二)创建Web项目simonshop 1、创建Web项目simonshop 2、在项目结构窗口里设置Artifacts名称:simonshop 3、配置服务器(Server) 4、设置部署(Deployment) (三)创建实体类 在src里创建net.lfh.shop.bean包,创建四个实体类:User、Category、Product与Order,与四张表t_user、t_category、t_product与t_order一一对应。 1、用户实体类User package net . lfh . shop . bean ; /** * 功能:用户实体类 * 作者:李福华 * 日期:2019年12月5日 */ import java . util . Date ; public class User { /** * 用户标识符 */ private int id ; /** * 用户名 */ private String username ; /** * 密码 */ private String password ; /** * 电话号码 */ private String telephone

AJAX学习5

ぃ、小莉子 提交于 2019-12-09 12:43:59
代码如下: package net . yjx . shop . servlet ; /** * 功能:注销处理类 * 作者:尹佳欣 * 日期:2019年12月9日 */ import java . io . IOException ; import javax . servlet . ServletException ; import javax . servlet . annotation . WebServlet ; import javax . servlet . http . HttpServlet ; import javax . servlet . http . HttpServletRequest ; import javax . servlet . http . HttpServletResponse ; @WebServlet ( "/logout" ) public class LogoutServlet extends HttpServlet { private static final long serialVersionUID = 1 L ; protected void doGet ( HttpServletRequest request , HttpServletResponse response ) throws ServletException

spring+mybatis+mina+logback框架搭建

拈花ヽ惹草 提交于 2019-12-07 18:54:58
第一次接触spring,之前从来没有学过spring,所以算是赶鸭子上架,花了差不多一个星期来搭建,中间遇到各种各样的问题,一度觉得这个框架搭建非常麻烦,没有一点技术含量,纯粹就是配置,很低级!但随着搭建的完成,有一点点体会:框架可以让我们的代码更加像一个项目,而不是一个普普通通的作业,这在之前我们学生时代往往不会注意到这一点。我觉得这就是专业和业余的区别。当然,目前,我连spring入门可能都算不上,只是为了完成任务来搭建这套框架,但还是很有收获的,所以记录下这篇博客,给过来人参考。 另外还有一个重要原因是,网上的框架搭建如spring+mybatis的博客,老实说,有很多明显有错误!最终竟然还能正确运行出结果,简直匪夷所思,还有的,缺少文件或者说明,会让刚学习spring的人摸不着头脑,尤其是你兴致勃勃地参考一篇博客,辛苦地搭建了一大半,结果到最后发现,有一个文件没有提供,有一个函数没有提供,有一个类没有提供。。。总之你无法继续下去,内心一定会非常奔溃!所以,我决定写这篇博客! 关于spring的介绍,我就不多说了,我也是门外汉~我就说一下,我为什么要使用这几个框架,spring自然不必多说,mybatis是对数据库的封装,用来操作数据库,mina是对网络通信(如socket)的封装,logback是关于日志的框架。我要实现的是一个短信平台的验证系统,需要操作数据库

谈谈MySQL隐式类型转换

怎甘沉沦 提交于 2019-12-06 20:58:11
本文首发于个人微信公众号《andyqian》,期待您的关注! 前言 今天我们继续回到MySQL系列文章中,谈一谈MySQL中隐式类型转换。(其实我最早知道是在慢SQL优化中知道隐式类型转换概念的),在说隐式类型转换之前,首先我们通过一个实例来看看是怎么回事。 数据结构 本文中所有的操作,都是基于该数据结构(有兴趣的童鞋,可以实验): create table t_base_user( oid bigint( 20 ) not null primary key auto_increment, name varchar( 30 ) null comment "name" , email varchar( 30 ) null comment "email" , age int null comment "age" , telephone varchar( 30 ) null comment "telephone" , status tinyint( 4 ) null comment "0 无效 1 有效 " , created_at datetime null default now() comment " 创建时间 " , updated_at datetime null default now() comment " 修改时间 " ) ### 新建索引 alter table t

常用内置模块与包

丶灬走出姿态 提交于 2019-12-06 03:07:00
目录 常用内置模块与包 一、subprocess模块 二、re模块 三、简单了解爬虫 四、logging模块 五、包的理论 补充 常用内置模块与包 内置模块都是Python内部提供的 要学习Python内置的规则 一、subprocess模块 可以通过Python代码给操作系统终端发送命令,并且可以返回结果 sub:子 process:进程 import subprocess while True: # 1.让用户输入终端命令 cmd_str = input('请输入终端命令:').strip() # Popen(cmd命令,shell=True, # stdout=subprocess.PIPE,stderr=subprocess.PIPE) # 调用Popen就会将用户的终端命令发送给本地操作系统的终端 # 得到一个对象,对象中包含着正确或者错误的结果 obj = subprocess.Popen( cmd_str,shell=True, stdout=subprocess.PIPE, # 配置一个输入正确的结果 stderr=subprocess.PIPE # 配置一个输入错误的结果 ) success = obj.stdout.read().decode('gbk') if success: print(success) error = obj.stdout.read()

一百一十九:CMS系统之将短信验证码和图形验证码放到memcached缓存中

假装没事ソ 提交于 2019-12-06 00:55:41
将两个验证码的视图都放到common蓝图下 from flask import Blueprint, request, make_responsefrom exts import alidayufrom utils import restfulfrom utils.captcha import Captchafrom .forms import SMSCaptchaFormfrom utils import cmscachefrom io import BytesIObp = Blueprint("common", __name__, url_prefix='/common')@bp.route('/captcha/')def graph_captcha(): """ 获取验证码 """ text, image = Captcha.gene_graph_captcha() cmscache.set(text.lower(), text.lower()) # key和value都是验证码,存到memcached中 out = BytesIO() # 二进制流 image.save(out, 'png') out.seek(0) resp = make_response(out.read()) # 二进制流读取出来放到响应对象中 resp.content_type = 'image

一百一十七:CMS系统之注册页面对接短信验证码

大兔子大兔子 提交于 2019-12-06 00:32:07
from flask import Blueprint, requestfrom exts import alidayufrom utils import restfulfrom utils.captcha import Captchabp = Blueprint("common", __name__, url_prefix='/common')@bp.route('/sms_captcha/')def sms_captcha(): telephone = request.args.get('telephone') if not telephone: return restful.params_error('请输入手机号') # 获取随机的验证码 captcha = Captcha.gene_text(number=4) # 4位 # alidayu.send_sms(telephone, code=captcha) # 发送短信验证码 # return restful.success() if alidayu.send_sms(telephone, code=captcha) else restful.params_error('验证码发送失败') return restful.success(captcha) # 由于没有触发发送验证码,这里只要手机号验证通过统一返回验证码

MySQL中自定义排序

我怕爱的太早我们不能终老 提交于 2019-12-05 17:04:01
在开发时候,我们经常使用的是默认的排序规则,但在某些特殊情况下,通过指定顺序来进行排序 -- fileld自定义排序时,应该是非主键的,否则主键是无效 SELECT * FROM customer WHERE telephone IN ( '1832xxxx701', '1739xxxx553', '1855xxxx601' ) ORDER BY FIELD( telephone, '1832xxxx701', '1739xxxx553', '1855xxxx601' ) ASC; 来源: https://www.cnblogs.com/fatRabbit-/p/11934975.html