app 在首次登陆的时候,有提示需求弹出对话框。如果点击不再提示,下次登录的时候。对话框将 不再弹出。
public class MainActivity extends ActionBarActivity {
private AlertDialog di;
private View checkbox;
private CheckBox cBox;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//加载checkbox.xml 文件
LayoutInflater lauoutInflater=LayoutInflater.from(this);
checkbox = lauoutInflater.inflate(R.layout.checkbox, null);
//获取.xml文件的按钮
cBox=(CheckBox)checkbox.findViewById(R.id.check);
//通过sharedPreferences来保存信息
SharedPreferences pre=getSharedPreferences("checkvalue", MODE_PRIVATE);
String value=pre.getString("ischeck", "");
//判断接受到的信息
if (value.endsWith("1")) {
//如果选择的是1,则对话框就不再弹出
createDialog().dismiss();
}else {
//如果没有选择,则对话框继续弹出
createDialog().show();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
private AlertDialog createDialog(){
di=new AlertDialog.Builder(this).setTitle("友情提示ʾ").setMessage("为了保证随时接收到呼叫,需要root权限。如有需要请到设置中进行修改。").setView(checkbox)
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick( DialogInterface dialog, int which) {
//将数据保存到sharedPerferences中:
SharedPreferences pre=getSharedPreferences("checkvalue", MODE_PRIVATE);
Editor editor=pre.edit();
//判断cBox是否被选中
if (cBox.isChecked()) {
editor.putString("ischeck", "1");
}else {
editor.putString("ischeck", "0");
}
//提交选择的check,并且保存在pre中
editor.commit();
}
}).create();
return di;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
添加checkbox.xml文件
``
<?xml version="1.0" encoding="utf-8"?>
<CheckBox xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/check"
android:text="不再提醒"
>
</CheckBox>