Android 2.1使用了timer schedule 隔一段时间执行,但有时手机待命后(关了屏),程序再不执行
查看过程序没被kill,怎样可以令到程序持续运行?
@Override
public void onCreate(Bundle savedInstanceState) {
        
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Timer timer=new Timer();
        timer.schedule(new TimerTask(){
        int r = 1;         @Override
        public void run(){
                        doProcess(); //run process
     saveLog(r);//save log into sd card
     r++;
        }
        },0,60000);
}
权限设定    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.WAKE_LOCK /">
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

解决方案 »

  1.   

    用service吧,很简单
    public class MyService extends Service{
    @Override
    public IBinder onBind(Intent intent) {
    // TODO Auto-generated method stub
    return null;
    } @Override
    public void onCreate() {
    // TODO Auto-generated method stub
    super.onCreate();
    } @Override
    public void onDestroy() {
    // TODO Auto-generated method stub
    super.onDestroy();
    } @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
    // TODO Auto-generated method stub
    return super.onStartCommand(intent, flags, startId);
    } @Override
    public void onStart(Intent intent, int startId) {
     setContentView(R.layout.main);
            Timer timer=new Timer();
            timer.schedule(new TimerTask(){
                int r = 1;            @Override
                public void run(){
                            doProcess(); //run process
                    saveLog(r);//save log into sd card
                    r++;
                }
            },0,60000); }
    }
    AndroidManifest.xml中记得配置<service
    android:name=".MyService">
    </service>
      

  2.   

    谢谢,但怎样检查Service正在执行?现在把startService()放在Activity的onCreate里,再开app时,Service会再重新启动