处理活动的启动

时间:2016-05-31 05:47:48

标签: android

我有一个应用程序,其中首先启动Mainactivity并检查用户是否第一次使用该应用程序,如果它是第一次启动登录页面,否则另一个页面我有tabLayout(Homeactivity。带有两个tabs的java)。只要我的Homeactivity启动它就会连接到url并获取json数据。

单击Homeactivity上的后退按钮将退出应用程序。

我面临的问题是当我打开应用程序时它是否第一次检查并打开Homeactivity但它没有连接到url并获取数据,除非它从最近的活动中删除。我可以&# 39;了解问题任何帮助。以下是我在HomeActivity中的代码,用于反击任何问题。

@Override
public void onBackPressed() {


    ImageView image=new ImageView(this);
    image.setImageResource(android.R.drawable.ic_dialog_alert);
    new AlertDialog.Builder(this)
        .setView(image)
        .setMessage("Are you sure you want to exit the application?")
        .setCancelable(false)
        .setIcon(android.R.drawable.ic_dialog_alert)
        .setPositiveButton("Yes", new DialogInterface.OnClickListener() {

            @Override
            public void onClick(DialogInterface dialog, int which) {
                // TODO Auto-generated method stub
                Intent intent = new Intent(Intent.ACTION_MAIN);
                intent.addCategory(Intent.CATEGORY_HOME);
                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                startActivity(intent);
            }
        })
        .setNegativeButton("No",null)
        .show();


    }

并且用于第一次检查用户这是代码

if(prefs.isLoggedIn()){
        startActivity(new Intent(MainActivity.this,HomeActivity.class));
    }
    setContentView(R.layout.activity_main);

4 个答案:

答案 0 :(得分:0)

您是否正在登录onCreate?在OnResume中执行此操作。 另一种方法是使类扩展Application类,在onCreate of Application类中,检查第一次使用情况。如果是,则保存布尔值为共享首选项。

在反击方法中,whya不是你刚刚完成的吗?

答案 1 :(得分:0)

请在MainActivity和HomeActivity的startActivity()之后写下finish(),然后它就可以了。

  startActivity(new Intent(MainActivity.this,HomeActivity.class));
  finish();

  startActivity(intent);
  finish();

答案 2 :(得分:0)

您也可以使用 SessionManager 类来完成此操作。 并在您登录的 LoginActivity 天气中查看此内容:

session = new SessionManager(getApplicationContext());

     if (session.isLoggedIn()) {
        // User is already logged in. Take him to main activity
        Intent intent = new Intent(LoginActivity.this, MainActivity.class);
        startActivity(intent);
        finish();
    }

答案 3 :(得分:0)

在startactivity之后添加了finish()并且还添加了以下代码

eg. a.b.c={{c.d.f}} 
    after the replace it should look like
    a.b.c={{c_d_f}}