Android 退出应用程序后,如何让我的应用程序启动到仪表板?
我的一个应用程序有问题,我不知道该怎么解决。我是Android新手,不懂java 该应用程序由多个包含列表的页面组成,所有页面都有一个微调器在这些页面之间导航。您在微调器中选择in项,应用程序将打开该页面。除了在页面之间跳跃外,微调器中还有一个“退出应用程序”选项 跳页没问题。我遇到的问题是“退出应用程序”代码。当我通过按设备上的home键退出应用程序,或点击exit app(从微调器)然后重新启动应用程序时,它不会在仪表板上打开,而是在我上次查看的页面上打开。要解决这个问题,我需要长按设备的home键,然后从最近使用的列表中滑动应用程序 有没有一种方法可以让我在按设备上的home键退出应用程序时,或者在微调器中点击exit app,然后重新启动应用程序时,它会在仪表板上打开 有人能帮忙吗 谢谢 字符串代码Android 退出应用程序后,如何让我的应用程序启动到仪表板?,android,exit,restart,Android,Exit,Restart,我的一个应用程序有问题,我不知道该怎么解决。我是Android新手,不懂java 该应用程序由多个包含列表的页面组成,所有页面都有一个微调器在这些页面之间导航。您在微调器中选择in项,应用程序将打开该页面。除了在页面之间跳跃外,微调器中还有一个“退出应用程序”选项 跳页没问题。我遇到的问题是“退出应用程序”代码。当我通过按设备上的home键退出应用程序,或点击exit app(从微调器)然后重新启动应用程序时,它不会在仪表板上打开,而是在我上次查看的页面上打开。要解决这个问题,我需要长按设备的h
<string-array name="TheList">
<item>Tap Here For List…</item>
<item>Cheese</item>
<item>Planets</item>
<item>Cars</item>
<item><b>Back To Dashboard…</b></item>
<item><b>EXIT APP</item>
</string-array>
点击此处查看列表…
干酪
行星
汽车
回到仪表板…
退出应用程序
下面代码中的案例编号(1-4)是使用微调器项目选择打开的页面
案例5退出应用程序。我假设代码中有一个错误,阻止应用程序在仪表板上重新启动
java代码
package com.example.acer.MyKitList;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Spinner;
public class Carrying extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.page1);
// Spinner element & Spinner click listener
Spinner Spinner = (Spinner) findViewById(R.id.Spinner1);
Spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View view, int position, long row_id) {
switch (position) {
case 1:
Intent a = new Intent(Dashboard.this, Cheese.class);
startActivity(a);
finish();
break;
case 2:
Intent b = new Intent(Dashboard.this, Planets.class);
startActivity(b);
finish();
break;
case 3:
Intent c = new Intent(Dashboard.this, Cars.class);
startActivity(c);
finish();
break;
case 4:
Intent d = new Intent(Dashboard.this, Dashboard.class);
startActivity(d);
finish();
break;
case 5:
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
System.exit(0);
finish();
}
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
}
@Override
public void onBackPressed() {
finish();
}
}
package com.example.acer.MyKitList;
导入android.app.Activity;
导入android.content.Intent;
导入android.os.Bundle;
导入android.view.view;
导入android.widget.AdapterView;
导入android.widget.Spinner;
公共课堂活动{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.page1);
//微调器元素和微调器单击侦听器
微调器微调器=(微调器)findViewById(R.id.Spinner1);
Spinner.setOnItemSelectedListener(新的AdapterView.OnItemSelectedListener(){
@凌驾
已选择公共视图(AdapterView arg0、视图、整型位置、长行\u id){
开关(位置){
案例1:
意图a=新意图(Dashboard.this、Cheese.class);
星触觉(a);
完成();
打破
案例2:
意图b=新意图(Dashboard.this,Planets.class);
星触觉(b);
完成();
打破
案例3:
意图c=新意图(仪表板.this,Cars.class);
星触觉(c);
完成();
打破
案例4:
意图d=新意图(Dashboard.this、Dashboard.class);
星触觉(d);
完成();
打破
案例5:
意向意向=新意向(意向.行动\主要);
intent.addCategory(intent.CATEGORY_HOME);
intent.setFlags(intent.FLAG\u活动\u清除\u任务);
星触觉(意向);
系统出口(0);
完成();
}
}
@凌驾
未选择公共无效(AdapterView arg0){
}
});
}
@凌驾
public void onBackPressed(){
完成();
}
}
将此代码段放入所有类中
这将很难解决这个问题
答案是:
这是活动的默认生命周期。当您按下“主页”按钮时,“活动”将再次进入暂停状态,打开它将导致“恢复”。我认为你不应该搞砸默认行为。我是Android新手,不懂java。-你为什么不先获得一些经验呢?如果您不理解Java,您将走不远,正如我在上面所说的,您不应该弄乱活动生命周期。你可以做的是处理退出应用程序按钮。阅读你会明白的。谢谢ADM。我已经读到安卓试图阻止人们使用“退出按钮”,因为这不是好的编码礼节或其他什么。也谢谢你的链接。我在那里找到了解决办法。我只漏掉了几行。不,多亏了蒂姆,但你确实因为没有帮助和居高临下而获奖。做得好!我想知道您是否从一开始就完全了解java,并且没有犯错误。。。你是否从来没有在一些不太有效的事情上寻求过帮助?无所不知一定很好。你能做的就是说,“很好的尝试,你已经得到了大部分代码,但是你错过了这些…”这样在你的帮助下,我会学到一些经验。啊,嘲弄…谢谢水4。我从ADM提供的链接中只漏掉了几行,其中包括您的-Intent a=newintent(context,Dashboard.class)@既然你的问题已经解决了,我将不胜感激&请接受答案
@Override
protected void onResume() {
super.onResume();
//Start Dashboard Activity here
Intent a = new Intent(context, Dashboard.class);
startActivity(a);
finish();
}
}
case 5:
Intent startMain = new Intent(Intent.ACTION_MAIN);
startMain.addCategory(Intent.CATEGORY_HOME);
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(startMain);
Intent intent = new Intent(getApplicationContext(), MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
finish();
System.exit(0);