我有一个应用程序,其中首先启动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);
答案 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}}