我有一个应用程序启动Splash活动屏幕5秒然后打开登录活动屏幕然后在您输入正确的用户和密码后打开菜单活动(listActivity)然后每行单击打开MyCity活动.
更新:
我想要得到的是:你在我的应用程序中的任何地方,你出于任何原因离开我的应用程序,不仅是当你按下主页按钮而且还有FOR EXPLPLES:
>您按主页按钮检查另一个应用程序然后想要返回我的应用程序.
>您有关于whatsup或电子邮件的通知显示新消息,您打开您的whatsup或打开电子邮件,然后返回到我的应用程序.
3-您离开手机一段时间后再想检查我的应用程序.
4-按下电源按钮关闭手机(锁定屏幕),然后打开锁定,想要返回我的应用程序.
我的意思是任何时候你出于任何原因离开我的应用程序,但没有按回退回按钮,这将退出整个应用程序
然后想再次返回我的应用程序必须打开
您登录屏幕再次输入您的用户名和密码.
我叫完();对于Splash活动和登录活动.
我试过:清单中的Login活动中的android:clearTaskOnLaunch =“true”,但它确实没有.
任何建议将被认真考虑,
请写完整的工作代码.
登录活动:
public class Login extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.login);
Button b = (Button) findViewById(R.id.loginbutton);
b.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
EditText username = (EditText) findViewById(R.id.login);
EditText password = (EditText) findViewById(R.id.password);
if(username.getText().toString().length() > 0 && password.getText().
toString().length() > 0 ) {
if(username.getText().toString().equals("test") && password.getText().
toString().equals("test")) {
Intent intent = new Intent(Login.this,Menu.class);
startActivity(intent);
finish(); }
} }
}); } }
菜单活动:
public class Menu extends ListActivity {
String classes[] = { "City1","City2","City3","City4","City5"};
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setListAdapter(new ArrayAdapter(Menu.this,android.R.layout.simple_list_item_1,classes));
}
@Override
protected void onListItemClick(ListView l,View v,int position,long id) {
// TODO Auto-generated method stub
super.onListItemClick(l,v,position,id);
String cheese = classes[position];
try {
Class ourClass = Class.forName("com.test.demo.MyCity");
Intent ourIntent = new Intent(Menu.this,ourClass);
ourIntent.putExtra("cheese",cheese);
startActivity(ourIntent);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}}
MyCity活动:
public class MyCity extends Activity {
TextView tv1;
String city;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.city);
initializeTextViews();}
private void initializeTextViews() {
tv1=(TextView)findViewById(R.id.city_tv);
city=getIntent().getStringExtra("cheese");
if(city.equalsIgnoreCase("City1")){
tv1.setText(Html.fromHtml(getString(R.string.city1)));}
else if(city.equalsIgnoreCase("City2")){
tv1.setText(Html.fromHtml(getString(R.string.city2)));}
else if(city.equalsIgnoreCase("City3")){
tv1.setText(Html.fromHtml(getString(R.string.city3)));}
else if(city.equalsIgnoreCase("City4")){
tv1.setText(Html.fromHtml(getString(R.string.city4)));}
else if(city.equalsIgnoreCase("City5")){
tv1.setText(Html.fromHtml(getString(R.string.city5)));}
}}
我的表现:
package="com.test.demo"
android:versionCode="1"
android:versionName="1.0" >
android:minSdkVersion="8"
android:targetSdkVersion="15" />
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
android:name=".Splash"
android:label="@string/app_name">
android:name=".Login"
android:label="@string/app_name"
android:clearTaskOnLaunch="true">
android:name=".Menu"
android:label="@string/app_name" >
android:name=".MyCity"
android:label="@string/app_name" >
第二更新:我达到了我想要的一半,但仍然有一些步骤,我无法实现它解释如下:
通过将android:clearTaskOnLaunch =“true”应用于Splash活动,
并阻止菜单活动上的后退按钮行为:
@Override
public boolean onKeyDown(int keyCode,KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
moveTaskToBack(true);
return true;
}
return super.onKeyDown(keyCode,event);
} }
所以现在按下主页按钮离开我的应用程序然后返回我的应用程序:
直接进入登录活动.
但现在的主要目标是:
如果:
屏幕在您离开手机时锁定,或轻按电源按钮以锁定手机.
要么
通知中打开的消息
要么
打开电子邮件通知
要么
你有CALL并回答它,
然后返回我的应用程序,它不会进入登录活动,但您将返回到您所在的页面.
请提出任何建议,谢谢.
最新消息:
我使用另一个代码覆盖主页按钮并控制后退按钮而不是应用:android:clearTaskOnLaunch =“true”到清单中的Splash活动,只需将下行代码应用于Menu活动:
@Override
public boolean onKeyDown(int keyCode,KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
moveTaskToBack(true);
return true;}
else if (keyCode == KeyEvent.KEYCODE_HOME) {
Intent i=new Intent(Menu.this,Login.class);
startActivity(i);
finish();
return true;}
return super.onKeyDown(keyCode,event);}