在应用程序运行时,我按HOME按钮关闭应用程序。当我再次启动应用程序,它恢复或不重新设置一些值,例如我使用initTTS()这是文本到语音当我再次启动应用程序时,我听到一些演讲,像他记得最后一个动作,当我发生关闭并在Android设备上启动应用程序,如果我从我的设备从android-stido启动应用程序它从一开始就像一切都开始复位我想知道为什么当我从设备关闭我的应用程序,并再次启动它记得一些最后的行动。我希望应用程序以初始设置开始。我使用完成()完成活动,但它不工作。有任何想法吗 ?如何销毁Android中的活动并从初始设置开始?
例如,这我在MainActivity的顶部:
public class MainActivity extends ActionBarActivity
{
private static final int MY_DATA_CHECK_CODE = 0;
TextToSpeech mTts;
private String targetURL;
private String urlParameters;
private Button btnClick;
private String clicking = "clicked";
private String[] ipaddresses = new String[]{
"http://192.168.1.5:8098/?cmd=nothing"};
private String iptouse = "";
private TextView text;
private boolean connectedtoipsuccess = false;
private int counter = 0;
private NotificationCompat.Builder mbuilder;
private Timer timer = new Timer();
private TextView text1, text2, text3;
private Button startButton;
private Button pauseButton;
private TextView timerValue;
private long startTime = 0L;
private Handler customHandler;
long timeSwapBuff = 0L;
private int servercheckCounter = 0;
private byte[] checkServer = null;
private boolean connectedSuccess = false;
private TextView status, status1;
private TextView uploadedfilescount;
private int numberofuploadedfilescounter = 0;
String a = null;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
startTime = SystemClock.uptimeMillis();
serverChecksThread.start();
status1 = (TextView) findViewById(R.id.textView3);
timerValue = (TextView) findViewById(R.id.timerValue);
uploadedfilescount = (TextView) findViewById(R.id.numberofuploadedFiles);
uploadedfilescount.setText("Uploaded Files: 0")
addListenerOnButton();
initTTS();
}
这是解决方案的样品我看到:
public class MyRootActivity extends Activity
{
private static final String TAG=MyRootActivity.class.getName();
private static ArrayList<Activity> activities=new ArrayList<Activity>();
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
activities.add(this);
}
@Override
public void onDestroy()
{
super.onDestroy();
activities.remove(this);
}
public static void finishAll()
{
for(Activity activity:activities)
activity.finish();
}
}
名言:“对于所有的活动都需要有孩子的MyRootActivity。
然后当你要确定你正在关闭你的应用程序 - 只需调用MyRootActivity.finishAll();“
我不明白如何以及在哪里将此活动植入到我的MainActivity中。 如何确认(知道)何时关闭我的应用程序? 我在哪里调用MyRootActivity.finishAll(); ?
我不明白我把Intent实例行和addFlags行放在哪里。我现在所做的就是在MainActivity继承ActionBarActivity行之后添加实例行,然后在setContentView(R.layout.activity_main)行后面的onCreate中添加intent.addFlags行。但是这会让我的程序崩溃。所以我想我没有在当前的地方添加这行。 –
只需在清单中添加android:noHistory = true,即可在其中声明您的活动。 – abhishesh