随笔分类 - Android代码
摘要:一些手机app(如微信、QQ等)有新消息来到达,手机屏幕即使在锁屏状态下也会亮起,并提示用户有新消息。但是,一般情况下手机锁屏后,Android系统为了省电以及减少CPU消耗,在一段时间后会使系统进入休眠状态,这时,Android系统中CPU会保持在一个相对较低的功耗状态,而收到新消息必定有网络请求,而网络请求是消耗CPU的操作,那么如何在锁屏状态乃至系统进入休眠后,仍然保持系统的网络状态以及通过程序唤醒手机呢?答案就是Android中的WakeLock机制。 官方对于WakeLock的解释:PowerManager:This class gives you control of the po
阅读全文
摘要:在Android开发中,定时器一般有以下3种实现方法:一、采用Handler与线程的sleep(long)方法二、采用Handler的postDelayed(Runnable, long)方法三、采用Handler与timer及TimerTask结合的方法下面逐一介绍:一、采用Handle与线程的sleep(long)方法Handler主要用来处理接受到的消息。这只是最主要的方法,当然Handler里还有其他的方法供实现,有兴趣的可以去查API,这里不过多解释。1. 定义一个Handler类,用于处理接受到的Message。Handler handler = new Handler() { .
阅读全文
摘要:方法一:(java习惯,在android平台开发时这样是不行的,因为它违背了单线程模型)刚刚开始接触android线程编程的时候,习惯好像java一样,试图用下面的代码解决问题 new Thread( new Runnable() { public void run() { myView.invalidate(); } }).start();可以实现功能,刷新UI界面。但是这样是不行的,因为它违背了单线程模型:Android UI操作并不是线程安全的并且这些操作必须在UI线程中执行。方法二:(Thread+...
阅读全文
摘要:使用广播检测手机电池代码如下:private static final String SYSTEMACTION_BATTERY_CHANGED = Intent.ACTION_BATTERY_CHANGED; IntentFilter filter_system = new IntentFilter();
filter_system.addAction(SYSTEMACTION_BATTERY_CHANGED);
registerReceiver(systemReceiver, filter_system);[BroadcastReceive方法代码]private BroadcastRec.
阅读全文
摘要:本文来自 Eric飞猪 老师的CSDN博客:Android代码---- 监控手机电池的状态(引申为可以监控手机usb线的插拔事件的监听)现在做手机管理软件,我是手机端的,但是在这个过程中为了使用户有更好的额体验性,要在手机端显示是否是连接电脑的状态, 连接状态很好判断, 可以走曲线救国的方式,就是当我和PC端的软件通讯的时候就可以判断已经连接上了,但是如果断开则是有两种情况:1.用户在PC端点击断开连接.2.用户拔下手机数据线(估计这个出现的概率要更加的大)那么我就写了这样的判断方式。1.第一种状态的出现: 可以定制广播,就是在PC端关闭这个连接的时候,PC端使用ADB命令发送一个stop广播
阅读全文
摘要:一个小小Demo检测手机支持那几种传感:具体代码如下:[Java代码]DemoSensorActivity.javapackage com.example.testsensor;
import java.util.List;
import android.app.Activity;
import android.content.Context;
import android.hardware.Sensor;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.view.View;
imp
阅读全文
摘要:一个简单的小Demo测试手机方向传感:具体代码如下:[Java代码]Sample.javapackage com.example.test_sensor_orientation; import org.openintents.sensorsimulator.hardware.Sensor;
import android.app.Activity;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.widget.TextView; public class Sample exten...
阅读全文
摘要:一个简单的小Demo 测试手机光传感:具体代码如下:[java代码]Sample.javapackage com.example.test_sensor_light; import org.openintents.sensorsimulator.hardware.Sensor;
import android.app.Activity;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.widget.TextView; public class Sample extends Act...
阅读全文
摘要:AudioManager就有这个方法:isWiredHeadsetOn();如果插入了耳机,就返回true,否则false;当然,要加个权限,不然一直是返回false。 开始我追了好久的源码。发现了实时检测耳机插入和拔出的过程,不过对我的需求来说帮助不是很大。实时检测耳机插入和拔出:每当插入和拔出耳机时,系统都会发送Intent广播, 所以,只需要用一个receiver把这个广播intent(获取的action是:“android.intent.action.HEADSET_PLUG”)截获就好。这个receiver必须要用代码注册,而不能写在manifest里面用写入内存的方式。在Andro
阅读全文
摘要:如果您在开发一个需要实时更新数据的应用程序,当有新的数据的时候提醒用户查看新的数据,那么您需要在后台开起一个Service,然后实时的去网 络上获取数据,但是如果用户关机重启,您的Service可能就消失了!那么怎么样保证开机后你的Service还活跃的在用户的手机里偷偷的从网络上获 取数据呢? 很简单,我们只要实现开机自启动即可,android实现开机自启动可能是移动操作系统中最简单的了,我们只需要监听一个开机启动的 Broadcast(广播)即可。首先写一个Receiver(即广播监听器),继承BroadcastReceiver,如下所示:[代码]BootReceiver.jav...
阅读全文

浙公网安备 33010602011771号