我想知道在应用程序未运行时如何检查是否选中了复选框。请帮我。我正在打电话拦截器,而且我被卡住了。
当应用程序未运行时,如何检查是否选中了复选框。
答案 0 :(得分:1)
Android提供SharedPreferences类,这是一个实用程序,可帮助您在应用程序内部内存中保存用户设置,并可通过提供应用程序上下文进行访问。
假设用户已选中复选框控件,您可以使用 SharedPreferences 实例保存该选项,并将其保存到磁盘上。
例如:
myCheckbox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {
SharedPreferences prefs = yourActivityContext.getSharedPrefences("user_prefs", Context.MODE_PRIVATE);
SharedPreferences.Editor = prefs.edit(); //Create this instance in order to save data
editor.putBoolean("checked", isChecked); //Store the checkbox value
editor.commit(); //Call this to save the preferences to disk
}
} );
然后在 BroadcastReceiver :
中@Override
public void onReceive(Context context, Intent data) {
SharedPreferences prefs = context.getSharedPreferences("user_prefs", Context.MODE_PRIVATE);
boolean checkboxValue = prefs.getBoolean("checked", false);
//The second argument provide a default value if you haven't saved that setting before.
}
答案 1 :(得分:0)
每次启动应用程序时,都会创建一个全新的程序实例。一旦应用程序终止,正在运行的实例不再存在,以便您检查其状态。
你需要做的是......
如果你没有编写拥有该复选框的程序(原帖中不清楚),那么程序必须已经这样做了;否则,它在启动时无法重新填充屏幕。在这种情况下,您所要做的就是找出文件或数据库表存储您所需信息的内容,并找出如何从该位置提取所需数据。
答案 2 :(得分:0)
您可以在数据库或web api中存储复选框值,并通过Android Services类检查。
答案 3 :(得分:0)
使用SharedPreferences。在onCheckChangedListener中,只需使用与复选框关联的布尔值存储共享首选项。广播接收器应具有相同的上下文,因此您应该能够从那里访问共享首选项。