如何在屏幕关闭时运行部分代码。即使我的活动已经结束

时间:2014-08-25 13:09:39

标签: android

我是Android app开发的新手......

我正在尝试创建一个应用程序,当SCREEN关闭时运行代码的一部分并运行代码的其他部分当SCREEN为ON时......当我检查我的活动中的复选框时,这些事情应该发生... < / p>

目前我在“ACTIVITY.java”文件中使用以下代码,但它无法正常工作..

任何建议?请帮忙......


public class MainActivity extends ActionBarActivity {
CheckBox checkBox = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


    checkBox = (CheckBox) findViewById(R.id.my_check_box);
    boolean isChecked = getBooleanFromPreferences("isChecked");
    Log.i("start",""+isChecked);
    checkBox.setChecked(isChecked);


    checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {

            Log.i("boolean",""+isChecked);
            MainActivity.this.putBooleanInPreferences(isChecked,"isChecked");

             if(isChecked){
                 final PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);

                 if( pm.isScreenOn())

                 {

               //some code  
                 }

             else{ 
        //some code
                 } 
             }
            }    

             }

        }
     });

}



public void putBooleanInPreferences(boolean isChecked,String key){
    SharedPreferences sharedPreferences = this.getPreferences(Activity.MODE_PRIVATE);
    SharedPreferences.Editor editor = sharedPreferences.edit();
    editor.putBoolean(key, isChecked);
    editor.commit();        
}
public boolean getBooleanFromPreferences(String key){
    SharedPreferences sharedPreferences = this.getPreferences(Activity.MODE_PRIVATE);
    Boolean isChecked = sharedPreferences.getBoolean(key, false);
    return isChecked;       
}

}

1 个答案:

答案 0 :(得分:0)

你可以使用android服务进行后台任务。

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