最近在弄android方面的东西0.0
想实现这么一个效果。  手机开机后,后台线程A自动运行,定期轮询。(A线程的主要功能是同步某一个工程的数据)。
有木有这方面的代码案例。和参考文献。。
求指导0.0

解决方案 »

  1.   

    自己做系统的话,在launcher启动类里开个线程就可以了。否则在你的apk里加个boot service
      

  2.   

    ^_^谢谢楼上回答  偶先了解了解boot service
      

  3.   

    让一个Service开机自动启动:
    1.首先开机启动后系统会发出一个Standard Broadcast Action:android.intent.action.BOOT_COMPLETED,这个Action只会发出一次。2.构造一个IntentReceiver类,重构其抽象方法onReceiveIntent(Context context, Intent intent),在其中启动你想要启动的Service。3.在AndroidManifest.xml中,首先加入
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission>来获得BOOT_COMPLETED的使用许可,然后注册前面重构的IntentReceiver类,在其<intent-filter>中加入<action android:name="android.intent.action.BOOT_COMPLETED" /> ,以使其能捕捉到这个Action。http://www.cnblogs.com/ssqjd/archive/2009/02/08/1386460.html
      

  4.   

    代码如下
    package com.szy.broadcast.receiver;import android.content.BroadcastReceiver;
    import android.content.Context;
    import android.content.Intent;
    import android.util.Log;public class MyReceiver extends BroadcastReceiver {
     private static final String ACTION = "com.szy.broadcast.ACTION";
     private static final String SMS_RECEIVED = "android.provider.Telephony.SMS_RECEIVED";
     private static final String BOOT_COMPLETED = "android.intent.action.BOOT_COMPLETED";
    public MyReceiver(){
    Log.i("广播接收器","初始化");
    }


    @Override
    public void onReceive(Context context, Intent intent) {

    if(intent.getAction().equals(ACTION)){
    Log.i("广播接收器","自定义发送广播");
    }
    if(intent.getAction().equals(SMS_RECEIVED)){
    Log.i("广播接收器","短信接收广播");
    }
    if(intent.getAction().equals(BOOT_COMPLETED)){
    Log.i("广播接收器","开机广播");
    }
     // context.startService(new Intent(context, 
            // OlympicsService.class), null);//启动倒计时服务
    //  Toast.makeText(context, "OlympicsReminder service has started!", Toast.LENGTH_LONG).show();
      //这边可以添加开机自动启动的应用程序代码


    }
    }
    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.szy.broadcast.activity" android:versionCode="1"
    android:versionName="1.0">
    <uses-sdk android:minSdkVersion="8" /> <application android:icon="@drawable/icon" android:label="@string/app_name">
    <activity android:name=".BroadcastReceiverActivity"
    android:label="@string/app_name">
    <intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
    </activity>
    <receiver android:name="com.szy.broadcast.receiver.MyReceiver">
    <intent-filter>
    <action android:name="com.szy.broadcast.ACTION" />
    <action android:name="android.provider.Telephony.SMS_RECEIVED"/>
    <action android:name="android.intent.action.BOOT_COMPLETED" />
    </intent-filter>
    </receiver>
    </application>
    <uses-permission  android:name="android.permission.RECEIVE_SMS"/>
    <uses-permission  android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
    </manifest>