0

我有以下代码:

public class MainActivity extends Activity {

Button btnStart;
MyTask objMyTask;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    btnStart = (Button) findViewById(R.id.btnstart);
    btnStart.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            objMyTask = new MyTask();
            objMyTask.execute();
        }
    });
}

class MyTask extends AsyncTask<Void, String, Integer> {  
@Override
    protected Integer doInBackground(Void... params) {...}

    @Override
    protected void onProgressUpdate(String... values) {...}

    @Override
    protected void onPostExecute(Integer result) {...}
}}

MyTask以时间间隔生成值。在执行此线程期间,我设备上的屏幕处于活动状态,但我希望此应用程序运行更长时间,所以如果在整个执行过程中屏幕不处于活动状态会更好 - 这会很耗电。你知道这个问题的一些解决方案吗?提前致谢。

4

1 回答 1

3

使用服务而不是带有 AsyncTask 的 Activity:

http://developer.android.com/guide/components/services.html

于 2013-02-25T18:30:20.417 回答