当前位置:  编程技术>移动开发
本页文章导读:
    ▪WakeLock & WifiLock的兑现        WakeLock & WifiLock的实现 转:http://www.asiteof.me/2011/02/wakelock-wifilock/在android中,申请WakeLock可以使进程持续执行,即使进入睡眠模式,进程的执行也不间断,而且能保持屏幕常亮。WifiLock跟WakeLock.........
    ▪ 主线程向子线程发送讯息        主线程向子线程发送消息   public class TestHandler extends Activity {   Button m_startbtn ; Button m_endbtn; MyThreadHandler m_threadHandler;   /** Called when the activity is first created. */     @Override     public void on.........
    ▪ 开发环境筹建       开发环境搭建   • •安装VMware、MacOS、Xcode 参考 http://dev.10086.cn/cmdn/wiki/index.php?edition-view-4385-0.html •安装MacPort MacPorts-1.9.2-10.6-SnowLeopard.dmg将MacPort安装在/opt目录下 •更新MacPort及安装d.........

[1]WakeLock & WifiLock的兑现
    来源: 互联网  发布时间: 2014-02-18
WakeLock & WifiLock的实现
转:http://www.asiteof.me/2011/02/wakelock-wifilock/


在android中,申请WakeLock可以使进程持续执行,即使进入睡眠模式,进程的执行也不间断,而且能保持屏幕常亮。
WifiLock跟WakeLock用法作用与WakeLock相同,不过前者是针对Wifi的而已。
SMS Backup中关于WakeLock以及WifiLock的代码如下:

     private static void acquireWakeLock(Context ctx) {
        if (sWakeLock == null) {
            PowerManager pMgr = (PowerManager) ctx.getSystemService(POWER_SERVICE);    //保持当前进程持续有效
            sWakeLock = pMgr.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,
                    "SmsSyncService.sync() wakelock.");
           
            WifiManager wMgr = (WifiManager) ctx.getSystemService(WIFI_SERVICE);       //保持wifi有效
            sWifiLock = wMgr.createWifiLock("SMS Backup");
        }
        sWakeLock.acquire();
        sWifiLock.acquire();
    } 

用完一定要记得释放锁:

     private static void releaseWakeLock(Context ctx) {
        sWakeLock.release();
        sWifiLock.release();
    } 

而且要注意在AndroidManifest.xml中注明wakelock权限的申请:

<uses -permission android:name="android.permission.WAKE_LOCK"/>

    
[2] 主线程向子线程发送讯息
    来源: 互联网  发布时间: 2014-02-18
主线程向子线程发送消息

 

public class TestHandler extends Activity {

 

Button m_startbtn ;

Button m_endbtn;

MyThreadHandler m_threadHandler;

 

/** Called when the activity is first created. */

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

        System.out.println(Thread.currentThread().getId());

 

        m_startbtn = (Button)findViewById(R.id.start);

        m_startbtn.setOnClickListener(new StartOnClickListener());

     new MyThread().start();

    }

 

 

    class StartOnClickListener implements OnClickListener

    {

 

@Override

public void onClick(View v) {

//在主线程中获取子线程的message对象然后再发送

Message msg = m_threadHandler.obtainMessage(1,1,1,"主线程发消息了");

m_threadHandler.sendMessage(msg);

}

 

    }

 

 

    class MyThread extends Thread

    {

     @Override

     public void run()

     {

    

//创建该线程的Looper对象,用于接收消息 

     Looper.prepare();

//线程的looper创建的handler表示消息接收者是子线程

     m_threadHandler = new MyThreadHandler(Looper.myLooper());

//循环从MessageQueue中取消息。 

     Looper.loop();

     }

    }

 

    class MyThreadHandler extends Handler

    {

     public MyThreadHandler(Looper loop)

     {

     super(loop);

     }

    

     @Override

     public void handleMessage(Message msg)

     {

     super.handleMessage(msg);

//消息处理

     System.out.println("我是子线程的Handler,收到了消息:"+(String)msg.obj);

     }

    

    }

 

 

}


    
[3] 开发环境筹建
    来源: 互联网  发布时间: 2014-02-18
开发环境搭建

 

•安装VMware、MacOS、Xcode
参考 http://dev.10086.cn/cmdn/wiki/index.php?edition-view-4385-0.html
•安装MacPort
MacPorts-1.9.2-10.6-SnowLeopard.dmg将MacPort安装在/opt目录下
•更新MacPort及安装dpkg-deb
在/opt/local/bin目录下完成以下命令: 1) sudo port –v selfupdate
2) sudo port install dpkg
•安装md5sum
•安装toolchain私有API的SDK头文件
将iPhoneOS2.0.wu.sdk放入/Developer/SDKs/iPhoneOS.sdk/Versions目录

    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

php iis7站长之家