小编Sin*_*ndu的帖子

按下后退按钮时保存状态

我正在开发一个Android应用程序.如果我按后退按钮我的应用程序的状态应该保存.什么我应该使用保存状态..am困惑与所有这些onPause(),onResume()onRestoresavedInstance()??? 我应该使用哪些来保存我的应用程序状态?例如,当我按退出按钮时,我的整个应用程序应退出我已使用完成()?

   public void onCreate(Bundle savedInstanceState)
   {   

    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    s1=(Button)findViewById(R.id.sn1);
    s1.setOnClickListener(this);
    LoadPreferences();
    s1.setEnabled(false);
    }

    public void SavePreferences()
 {
        SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);
        SharedPreferences.Editor editor = sharedPreferences.edit();
        editor.putBoolean("state", s1.isEnabled());
       }
 public void LoadPreferences()
 {
     System.out.println("LoadPrefe");
        SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);
        Boolean  state = sharedPreferences.getBoolean("state", false);
        s1.setEnabled(state);
       }
 @Override
 public void onBackPressed()
 {
    System.out.println("backbutton");
    SavePreferences();
     super.onBackPressed();
 }
Run Code Online (Sandbox Code Playgroud)

android savestate sharedpreferences android-lifecycle

11
推荐指数
1
解决办法
2万
查看次数

按下后退按钮

我有5个不同的屏幕有多个活动.如果在第一个屏幕和其他屏幕中按下后退键,我应该如何处理?finish()和System.exit()不工作..如果按下后退按钮,我该怎么办才能退出我的应用程序?以下编码不起作用?请建议我退出具有多个屏幕的应用程序

 public boolean onKeyDown(int keyCode, KeyEvent event) 
 {
    if (keyCode == KeyEvent.KEYCODE_BACK) 
     {
        AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
                this);

        new AlertDialog.Builder(this) .setMessage("Are you sure you want to exit?")
           .setCancelable(true)
          .setPositiveButton("Yes", new DialogInterface.OnClickListener() 
           { 
             public void onClick(DialogInterface hi, int dd) 
             {

                Intent exitIntent = new Intent(Mapper.this,SplashActivity.class);
                exitIntent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP|Intent.FLAG_ACTIVITY_CLEAR_TOP);
                SplashActivity.mHandler.sendEmptyMessage(0);                   
                startActivity(exitIntent);    


             }
           }
          )
         .setNegativeButton("Cancel", new DialogInterface.OnClickListener() 
         { 
           public void onClick(DialogInterface hi, int dd) 
           {

           }
         }
         );
        AlertDialog alertDialog = alertDialogBuilder.create();

            // show it
            alertDialog.show();
      //AlertDialog alert1 = alt_bld.create();
      //alert1.setTitle("EXIT");
      //alert1.show(); 
       return …
Run Code Online (Sandbox Code Playgroud)

android

5
推荐指数
1
解决办法
3万
查看次数