关于android电话监听显示(类似360通话)

andriod 自定义来电界面功能实现的一些思考。 原创博文,转载请注明出处:        由于近期所做一个项目需要做类似于“来电秀”的功能,所以上网搜索了一些相关资料,加上自己的一些想法,做了一个Demo。一下是我对该功能实现的一些想法,不对的地方欢迎各位指出。最后我会给出Demo 的源代码。        首先,Android系统的手机在监听到有电话呼入的时候会向系统发送电话状态改变的广播(android.intent.act 阅读详情

自己琢磨了很久,也查了很多资料。


这是资源下载地址:点击打开链接,大家可以去下载


首先我没有使用BroadcastReceiver,因为在使用广播监听来去点的时候手机会发送多次广播,所以接受并处理会非常麻烦与危险。虽然可以解决来电,但是去电的时候发现并没有相关api,因为android将其隐藏了,CallManager应该是这个类,虽然没有试过。但是在去电结束后又会被来电的监听器接受到挂断的信息,于是又是一个问题。所以我抛弃了BroadcastReceiver来监听来去电的方法。


BroadcastReceiver不行,那就使用Service来处理。


TelephonyManager tm = (TelephonyManager) getSystemService(Service.TELEPHONY_SERVICE);

PhoneStateListener customPhoneListener = new Listener(this);

// 监听跳转
tm.listen(customPhoneListener, PhoneStateListener.LISTEN_CALL_STATE);

这是部分代码,放在 Service的onCreate()的方法中运行,因为该方法在创建Service的时候只会运行一次。


public class Listener extends PhoneStateListener implements OnTouchListener {

	private Context context;
	
	// 自定义窗口
	private View view;
	private WindowManager windowManager;

	public Listener(Context context2) {
		this.context = context2;
	}

	@Override
	public void onCallStateChanged(int state, String incomingNumber) {

		switch (state) {
		
		// 来电监听
		case TelephonyManager.CALL_STATE_RINGING:

			createWindow(incomingNumber);
			
			break;

		// 来电/去电挂断
		case TelephonyManager.CALL_STATE_IDLE:
			
			
			if (view != null && view.isShown()) {
				
				closeWindow();
				
			}

			break;

		// 来电通话或者去电等待+通话
		case TelephonyManager.CALL_STATE_OFFHOOK:
			if (view != null && view.isShown()) {
				
				closeWindow();
				
			} else {
				
				createWindow(incomingNumber);
				
			}

			break;
		}
		super.onCallStateChanged(state, incomingNumber);
	}

	// 窗口点击事件
	@Override
	public boolean onTouch(View v, MotionEvent event) {

		switch (event.getAction()) {
		case MotionEvent.ACTION_DOWN:
			if (view != null && view.isShown()) {
				windowManager.removeView(view);
			}
			break;
		}

		return false;
	}
	
	// 创建窗口
	public void createWindow(String phoneNumber) {
		// 建立新窗口来显示对应信息
		windowManager = (WindowManager) context.getApplicationContext()
				.getSystemService(Context.WINDOW_SERVICE);

		// 定义窗口布局
		WindowManager.LayoutParams params = new WindowManager.LayoutParams();

		view = LayoutInflater.from(context).inflate(
				R.layout.activity_call, null);
		TextView numberTextView = (TextView) view
				.findViewById(R.id.phone_number);
		TextView numberAddress = (TextView) view
				.findViewById(R.id.telephone_address);
		TextView numberDepartment = (TextView) view
				.findViewById(R.id.phone_department);
		TextView numberJob = (TextView) view
				.findViewById(R.id.phone_job);
		
		// 设置窗口在所有窗口之上
		params.type = WindowManager.LayoutParams.TYPE_SYSTEM_ALERT
				| WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY;

		params.flags = WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL;

		// 图片置顶
		params.gravity = Gravity.LEFT | Gravity.TOP;
		params.x = 0;
		params.y = 0;

		params.height = 1000;

		// 得到电话号码
		numberTextView.setText(phoneNumber);

		// 查询电话号码,并得到联系人姓名
//		numberAddress.setText(PhoneInformation.getPhoneName(context, phoneNumber));
		
		// 查询自定义数据库
		UserInfo userInfo = DBUtils.getInstance(context).selectInfo(phoneNumber);
		if (userInfo != null) {
			numberAddress.setText(userInfo.getName());
			numberDepartment.setText(userInfo.getDepartment());
			numberJob.setText(userInfo.getJob());
		}
		
		// 给当前view增加监听事件
		view.setOnTouchListener(this);

		// 添加自定义图片
		windowManager.addView(view, params);
	}
	
	
	// 关闭窗口
	public void closeWindow() {
		windowManager.removeView(view);
	}

}

这是电话监听器的所有代码在这里我使用了WindowManager来显示一个小窗口,窗口的代码也在上面注释了。在这里用了代码复用也是很规范(自恋)。


state是电话的状态,incomingNumber是电话号码。如果有问题可以打Log日志自己慢慢打电话试一试。


其中有几段代码是查询联系人相关信息的稍后再贴。


最后不能忘了要在清单文件中注册,增加权限,以及在主函数中打开/关闭Service。

Android中使用服务实现电话监听 电话监听是指当手机接收到来电或拨打电话时,我们可以通过监听电话状态的变化来执行相应的操作,例如记录来电信息、拦截电话等。接下来,我们可以在其他组件(例如Activity)中启动服务,并开始监听电话状态。的服务类,并在其中注册电话状态监听器,我们可以监听手机的来电、响铃和接听状态,并执行相应的操作。需要注意的是,在使用电话监听功能时,需要在AndroidManifest.xml文件中声明相应的权限,例如读取电话状态的权限(中检查了读取电话状态的权限,并在需要时请求相应的权限。方法中,我们取消电话状态监听。 阅读详情

相关推荐

android 来电去电 通话 弹出对话框显示号码信息

1.可以直接运行测试 2.android版本2.3.3 3.完美解决来电去电的事件. 4.获取到号码后弹出window 5.挂断后window消失

Android基础之电话监听

简单监听来电的使用(使用service).

jasonvzhao的博客 521

安卓手机后台监控地理位置,并实时发送到服务端,服务端实时在地图上显示手机的地理位置和路线

安卓手机后台监控地理位置,并实时发送到服务端,服务端实时在地图上显示手机的地理位置和路线,附有安卓端和服务端源码

android音乐播放器监听器,android 音乐播放器电话监听

正好用到整理下首先 添加 权限电话监听/**** @author xiaoma* 电话监听器类*/private class MobliePhoneStateListener extends PhoneStateListener {@Overridepublic void onCallStateChanged(int state, String incomingNumber) {switch (s...

weixin_42510360的博客 356

100多台物理GPU服务器,每台服务器上有8张GPU卡,组网

计算网用 IB/RoCEv2 保证低延迟高带宽,支撑 800+GPU 的分布式训练;管理网和存储网独立部署,避免干扰核心通信;全链路冗余和规范布线,确保集群稳定运行;搭配 Slurm/K8s 和监控工具,实现高效管理。该方案可支撑千亿参数大模型训练,且具备极强的扩展性,未来可平滑扩容至 200 + 台服务器。

weixin_42795092的博客 2022

利用VBA宏实现LightTools仿真数据自动化导出至Excel

本文详细介绍了如何利用VBA宏实现LightTools仿真数据自动化导出至Excel的完整流程。通过调用LTAPI接口,工程师可以自动执行仿真、抓取照度与光强等数值数据、捕获并粘贴仿真图像,从而将重复性工作自动化,显著提升光学设计工作的效率和准确性。

weixin_28314575的博客 503

Android监听消息(二)——电话及短信监听

学更好的别人,做更好的自己。——《微卡智享》本文长度为2747字,预计阅读6分钟前言前面一篇《Android监听消息(一)——应用消息捕获》我们使用NotificationListenerService实现了应用的消息监听,但是电话和短信是接收不到的,所以这一篇我们就来解决怎么监听电话及短信,电话主要就是在响铃时发送来电人消息,短信的话是捕获到消息内容直接发送出来。微卡智享实现思路在Android...

Vaccae的博客 5619

MIT-BEVFusion系列六--bevfusion网络部分流程理解

简述bevfusion网络部分

duanmushuangquan的博客 4896

android 监听电话呼出,android 呼出电话的监听(去电监听)

android 呼出电话的监听(去电监听)权限:通过接收呼出电话的广播来实现定义广播类package com.zhouzijing.android.demo;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.tele...

weixin_36080474的博客 484

国宇测试盒GH7009 SPI读操作全解析:从接线到代码实现的避坑指南

本文详细解析了国宇GH7009测试盒进行SPI读操作的完整流程与避坑要点。重点阐述了硬件连接中IO2时序控制引脚的关键作用,提供了从接线方案、电源处理到上位机代码实现的实战指南,并针对常见的数据不稳定、特定寄存器读取失败等问题给出了具体解决方案。

dapp9builder的博客 224

离线安装samba与配置(.tar方式安装)

个人记录

小道士写程序 7726

仿360android打电话遮挡号码与通话后记录删除

先说下思路   首先点击拨号   进入一个是否拨通界面,选择确认后,调用系统直接拨打电话,然后判断拨打电话的状态,如果是拨通的状态下   用窗口管理器写一个遮挡物  遮挡住    如果不是拨通状态将遮挡物去掉,去掉完成当前activity,在onactivityforresult中执行查找通话记录进行删除。好了   开始上代码。        主界面mainactivity.class    

u012303938的专栏 1826

python语言下使用opencv接口cv2.VideoCapture()接口调用海康机器人工业相机

文章目录 目录 文章目录 前言 一、opencv接口介绍 二、调用海康机器人工业相机 1.使用海康机器人工业相机的前提 2.调用海康机器人工业相机进行显示 3.调用海康机器人工业相机进行存图 4.调用海康机器人工业相机存视频 5.调用海康机器人工业相机进行简单图像处理 总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下.

qq_39570716的博客 1万+

android 电话通话质量测试,安卓和iPhone通话质量变差,竟是这个功能在捣鬼!

原标题:安卓和iPhone通话质量变差,竟是这个功能在捣鬼! 前几天,眯姐看到今日头条有这样一篇教程——“如果你的手机通话信号差,快去打开这个功能(指VoLTE)”,然后就能解决手机通话信号差的问题。 当时眯姐也信了!哪晓得看到评论区,发现剧情360度大反转!用过VoLTE的用户,几乎无一例外都在吐槽通话质量差,言论呈现“一边倒”的趋势。 部分网友实测:网友81298696:开了打电话说不到几分钟...

weixin_39761696的博客 1421

论文分栏前后内容不连续?教你word如何删除分节符

问题 当我们在写论文的时候,很多期刊的模板都是两栏的格式,但有的时候我们插入的图像尺寸可能太大,两栏格式放不下,因此需要将其以一栏的格式出入,如下: 但当我们把图片删除后,再将其转换成两栏格式,前后内容就出现不连续的情况: 正常情况下应该是如下: 正确处理方式 里面有个分页符,把分页符去掉,或者把你的文字全部复制到记事本里,然后重新复制回word就可以取消原有的格式了。 删除分节符的方法(以word 2019为例) -点击菜单栏上的“视图”,点击“大纲视图”。 可以看到word文档以整列的形式展开:

左手の明天的博客 1万+

Allegro174版本如何关闭模块复用后铜皮自动从动态变成静态操作指导

在用Allegro进行PCB设计的时候,模块复用是使用的十分频繁的操作,当Allegro升级到了174 S034版本的时候,当使用模块复用的功能的时候,模块内的铜皮会自动动静转换,大部分情况是不需要的。版本如何关闭模块复用后铜皮自动从动态变成静态操作指导。如何关闭这个功能,具体操作如下。

weixin_54787054的博客 1262

pc 电脑web浏览器js通过usb控制安卓手机打电话挂电话(补充效果录像图)

pc 电脑web浏览器js通过usb控制安卓手机打电话挂电话 效果预览 分析与介绍 基于js/javascript通过usb数据线控制安卓手机打电话拔号或挂断的需求即浏览器通过usb数据线控制安卓手机打电话拔号或挂断的一键拔号。 技术构架: PC电脑(google浏览器,firefox浏览器,360浏览器) 的js/javascripts通过usb数据线连接安卓手机...

恋一个人,爱一座城 9330

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

360防窃听比上次写的更简洁方便使用

思路:点击按钮,开启一个服务,在服务里直接调用打电话“10086”,在服务中监听电话状态,通话状态用遮挡物遮住,挂断则消失并停止该服务,如果想盖住360的防窃听,可以延迟0.8s在把遮盖物显示出来,就可以遮住。 demo下载地址     代码如下:http://download.youkuaiyun.com/detail/u012303938/8624721     MainAcitivy.class

u012303938的专栏 1334

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Android中来电号码归属地的显示

昨日shixia360手机卫士有个来电显示归属地的功能,具体的显示大概就是

Graypn 2862

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

【案例分享】菊风云 | Watch!儿童手表实现视频通话,竟如此简单!

根据IDC《中国可穿戴设备市场季度跟踪报告,2018年第四季度》,报告显示,2018年儿童手表出货量为2167万台,同比增长16.6%。而中国市场在线调研:2017-2023年中国儿童智能手表行业现状调研分析及发展趋势预测报告的预测结果指出,到2020年,中国儿童智能手表的出货量将达到5000万台。由此可以看出,儿童手表的市场规模将进一步扩大,并且儿童手表也越来越受到家长们的青睐。 对于儿童安全问...

weixin_44669196的博客 935

360项目-06

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34218890的博客 90

番外篇-避坑!APP上架避坑踩雷权限和功能!非常重要的坑—-安卓Android开发附带uniapp避坑-苹果APP上架非常容易忽略掉的权限的坑-严重的敏感权限的坑-优雅草央千澈提醒您避坑

那是因为非法的app实在是太多了,各种诈骗的,盗取信息的,监听的,偷相册的,远程控制的各种诈骗软件层出不穷,加上安卓开源问题,因此government对app合法性的管控所谓是高压的,目前不仅有tx管家,360等会自动检测(无需你安装,只要你打包完),有个东西叫做“网络空间测绘”,360和tx管家的自动化检测就已经给你的应用钉上标签了。敏感权限:也叫危险权限,运行时权限,跟普通权限相反,一旦某个应该获取了该类权限,用户的隐私数据就面临被泄露篡改的风险。大家是不是有这样的疑问,APP还没发布,就直接报毒!

一颗优雅草科技-央千澈的优快云博客~只想无穷无尽的学习~作息早8-晚8 1334

android 手机PC客户端

豌豆荚 360 91 刷机精灵 应用助手 深度OS 甜椒刷机 金山卫士 发现有个刷机精灵的授权管理工具挺不错的,手机大概装了68款软件 有48款需要获取手机识别码,包括IMEI、本机号码等。 有30款软件有权获取定位信息 有7款软件有权访问短信和发送短信 有9款软件有拨打,挂断,监听通话、访问通话记录等 后台还有N多服务不定什么时候触发就运行了 这就是手机写照

DBC的空间存储 359

盘点2015年度10大安卓手机系统级病毒

随着移动端Android系统安全软件对APP应用层查杀能力趋于成熟以及Google对Android安全性的重视,病毒与反病毒的主战场已逐渐从APP层扩展到Linux系统层。相对于APP应用层病毒,系统底层病毒更容易隐藏自己,也更容易对抗安全软件,其危害性更大,更不容易查杀。而且病毒作者也开始把PC端的病毒自我保护手段移植到移动端上,在手机端大量使用了免...

weixin_34217711的博客 875

360权限整理

;联网权限     读写sd卡权限         读取

cange521的专栏 612

警惕:冒充Google+ 让手机变成的恶意软件

继旁路监听录制外拨电话,并将录音传送到某个远程网站的Android恶意程序ANDROIDOS_NICKISPY.A和ANDROIDOS_NICKISPY.B之后,趋势科技又发现了另一个与ANDROIDOS_NICKISPY.A程序码结构相同的恶意程序ANDROIDOS_NICKISPY.C,除了少许不同之外,此程序行为上也和前者颇为类似。包含拦截短信、使用手机的GPS定位和窃取邮件等敏感资料,技高...

yzd 205
上一篇: 关于百度地图和Android的配置
下一篇: 接上android来去电显示并增添自定义数据库(类似360通话)
羊羊爱代码
博客等级 码龄11年 8粉丝 28原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值