小编Lor*_*ork的帖子

WiFi锁不起作用,如何防止wifi省电?

我做了一个应用程序,将手机变成网络摄像头,并使用手机连接将图像发送到互联网网络空间.

我正在使用广告活动,将警报管理器设置为每隔5或15分钟执行一次服务.要执行服务的整个执行,我会执行唤醒锁定,但在服务完成时会丢失.

所有这一切都适用于移动连接,但不同于wifi.

我已经设置wifi选项的政策"永远不会"为wifi睡眠.但过了一段时间(并不总是一样),手机似乎进入省电模式:wifi图标尚未处于状态栏,但手机无法连接.即使我使用浏览器...所以我必须断开连接并手动重新连接.logcat中的消息:notify conn break (IOEx), close connection 即使电话插上电源!!!

为什么?(1)

尝试使用由启动服务的活动形成的另一个应用程序,该服务始终使用唤醒锁定运行.所以我已经添加了wifi锁以确保连接,但是这种方法有时会运行而另一些则没有.总是一样的notify conn break (IOEx), close connection原因?(2)

最后一个实验是从第一个应用程序(警报管理器)派生出来的,并确保wifi不会进入睡眠/省电模式(女巫一个?)我已经在执行代码后将手机转为飞行模式当循环开始时我将其关闭(连接).这项工作可以使用两天,但有时它只能工作(每隔一小时或两小时,而不是每5分钟,或有时一整天都不工作,然后无任何理由重启......).那么,为什么飞机模式有时不会重新建立先前的无线连接?(还有一些时候呢?)(3)

这款手机是原装2.2的三星Galaxy ACE,总是可以充电.

android wifi wifimanager android-wake-lock

8
推荐指数
1
解决办法
3416
查看次数

JQuery $('iframe').准备好为什么不起作用?

我的父页面中有一个非常长的iframe.当您重新加载或单击i框架页面内的链接时,它会加载到其中,但必须向上滚动纯粹的窗口.

我已经尝试了variuos代码示例:jquery哪个事件比这更好以及 如何使用iFrame重新加载 父页面正文代码滚动父页面:

<script language="javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
jQuery(document).ready(function() {
    $('iframe').load(function(){
         $(window).scrollTop(0);
    });
});</script>
<iframe frameborder="0" height="1000" id="iframe" src="http://mysite.com" width="800"></iframe>
Run Code Online (Sandbox Code Playgroud)

现在这是我在父页面中的最终代码:(这不起作用)

<script type="text/javascript">
$('iframe').ready(function(){
     $(window).scrollTop(0);
});
</script>
<iframe frameborder="0" height="1000" id="iframe" align="top" src="http://foicam.altervista.org/listadinamica.php" width="800" ></iframe>
Run Code Online (Sandbox Code Playgroud)

但问题是每个代码在帧完全加载(图像包括)之后向上滚动父页面.我想要的是,父页面在iframe完成加载之前向上滚动.

如果你点击最后一张图片或向下滚动页面,然后只重新加载iframe,你会明白我的意思!

很多,很抱歉,但我发现这个语言存在于今天下午!

html javascript iframe jquery

7
推荐指数
1
解决办法
4万
查看次数

究竟做什么Stopself()?终止服务运行的最佳方法是什么?

我是android的初学者,对java没什么经验...

我有一个创建一个ALARM MANAGER并开始alarmManager.setRepeating()指向服务的Activity .

onCreate中的此服务设置部分唤醒锁以执行代码的整个执行(该应用程序用于非用户交互,因此电话始终处于待机状态).

所有这些工作都很完美.

有时,服务不应执行整个代码,而是在执行之前退出.所以我用过 StopSelf但我有些疑惑:

  • onDestroyservice in Service中有删除唤醒锁的代码.不StopSelf()打电话了吗?

  • 无论如何,如果我没有指定任何函数来终止服务,代码执行后何时终止?

所以在我的情况下,更好的替代onDestroy()而不是Stopself()?很多人!

java service android

5
推荐指数
1
解决办法
7816
查看次数

AlarmManager和Handler + WakeLock之间最好的是什么?

我正在使用我的Android服务处理器,每隔60分钟(1小时)重新进行一些操作,使用PartialWakeLock保持手机不睡觉.但这会导致大量电池使用.

所以决定研究一下有人在这里写的完美的AlarmManager(我是noob).

但现在在网上阅读我发现谁使用AlarmManager,仍然需要一个WakeLock.这是真的吗?

每60分钟(1小时)运行一个循环的最佳方法是什么,而不会杀死电池?

感谢名单

PS

AlarmManager Android Developer

只要警报接收器的onReceive()方法正在执行,警报管理器就会保持CPU唤醒锁定.这可以保证在您完成广播处理之后手机不会睡眠.一旦onReceive()返回,Alarm Manager就会释放此唤醒锁.这意味着在某些情况下,只要onReceive()方法完成,手机就会休眠.如果您的警报接收器调用了Context.startService(),则手机可能会在启动所请求的服务之前休眠.为了防止这种情况,您的BroadcastReceiver和服务需要实施单独的唤醒锁定策略,以确保电话继续运行,直到服务可用.

但似乎我需要2个唤醒锁而不是使用处理程序的1个唤醒锁......这是真的吗?

java android standby alarmmanager

3
推荐指数
1
解决办法
3068
查看次数

Android传感器:getRotationMatrix()返回错误的值,为什么?

自从我开始使用此功能并且尚未成功获得有效结果以来已过去几天.

我想要的基本上将加速度矢量从设备坐标系转换为真实世界坐标.我知道这是可能的,因为我有相对坐标的加速度,我知道设备在现实世界系统中的方向.

阅读Android开发人员似乎使用getRotationMatrix()我得到R =旋转矩阵.

因此,如果我想要A(世界系统中的加速度矢量)来自A'(电话系统中的加速度矢量),我必须做到:

  A=R*A'
Run Code Online (Sandbox Code Playgroud)

但我不明白为什么矢量A总是第一个和第二个零件为零(例如:+0,00; -0,00; +6,43)

我目前的代码与此类似:

  public void onSensorChanged(SensorEvent event) {
     synchronized (this) {   
        switch(event.sensor.getType()){
        case Sensor.TYPE_ACCELEROMETER:
            accelerometervalues = event.values.clone();
            break;
        case Sensor.TYPE_MAGNETIC_FIELD:
            geomagneticmatrix =event.values.clone();
            break;
        }
        if (geomagneticmatrix != null && accelerometervalues != null) {
            float[] Rs = new float[16];
            float[] I = new float[16];
            SensorManager.getRotationMatrix(Rs, I, accelerometervalues, geomagneticmatrix);
            float resultVec[] = new float[4];
            float relativacc[]=new float [4];
                relativacc[0]=accelerationvalues[0];
                relativacc[1]=accelerationvalues[1];
                relativacc[2]=accelerationvalues[2];
                relativacc[3]=0;
            Matrix.multiplyMV(resultVec, 0, Rs, 0, relativacc, 0); …
Run Code Online (Sandbox Code Playgroud)

math android matrix sensor coordinates

3
推荐指数
1
解决办法
6464
查看次数