我有一个Android应用程序(我们将其称为“主应用程序”),它将启动另一个应用程序(我们将其称为“帮助应用程序”),具体取决于用户操作。请考虑以下情况。
我试图捕获onNewIntent()中的新意图,但它永远不会被触发(在清单中将活动声明为singleTop)。
我的问题是如何使用新意图每次启动Helper应用程序。非常感谢。
答案 0 :(得分:1)
您需要覆盖Helper应用程序中的onPause()方法。
像这样:
protected void onPause() {
super.onPause();
// Toast.makeText(getApplicationContext(), "Paused", Toast.LENGTH_LONG).show();
finish();
}
因此,每当你的帮助应用程序进入后台时,它将由这段代码完成。
每当您使用新意图获得Helper应用程序时。
希望它对你有所帮助。
感谢。
答案 1 :(得分:1)
您可以使用SharedPreferences解决当前问题:
当用户B登录我的主应用程序时,创建SharedPreferences:
SharedPreferences mainPrefs =
this.getSharedPreferences("mainappliction", MODE_WORLD_READABLE);
SharedPreferences.Editor prefsEditor = mainPrefs.edit();
prefsEditor.putString("user_detailone", "userdetailone");
prefsEditor.putString("user_detailtwo", "userdetailtwo");
prefsEditor.commit();
每当应用程序恢复从SharedPreferences
读取所有最新详细信息并根据用户的最新详细信息更新UI时,并在Helper应用程序中
@Override
public void onResume()
{
SharedPreferences mainPrefs =
this.getSharedPreferences("mainappliction", MODE_WORLD_READABLE);
String struserdetailone = mainPrefs.getString("user_detailone", "nothing");
//......
//update your Helper application UI here according user details
super.onResume();
}