我正在寻找一种方法来在我的Application
实现中获得我的 android 应用程序的意图。类Application
本身不getIntent()
只是Activity似乎有这个能力。
这样做的原因是我有一个具有多个意图的应用程序,可以称为无状态。但我需要用户登录。所以我想检查用户是否登录,如果没有提示登录对话框,而不在每个活动中破解相同的代码。
我正在寻找一种方法来在我的Application
实现中获得我的 android 应用程序的意图。类Application
本身不getIntent()
只是Activity似乎有这个能力。
这样做的原因是我有一个具有多个意图的应用程序,可以称为无状态。但我需要用户登录。所以我想检查用户是否登录,如果没有提示登录对话框,而不在每个活动中破解相同的代码。
拥有一些功能的方法Activity
是让它们都继承一个公共超类,如下所示:
class LoginActivity extends Activity {
public void onCreate(Bundle savedInstanceState) {
if (getIntent().hasExtra(...)) {
doLogin();
}
}
class MyActivity extends LoginActivity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// user is now logged in
setContentView(...);
}
}
只有你的LoginActivity
其他活动可以继承,所以不要在你的AndroidManifest.xml
. 你不能进入Intent
你的,Application
因为这样的事情没有意义。Application
只要您的进程正在运行,该对象就存在。在任何给定时间,您的活动可能有零个、一个或多个活动,那么Intent
它会返回什么?
不过,我必须承认我对启动Intent
与登录有什么关系感到有些困惑。似乎您需要一个具有会话状态/凭据的全局对象,而不是与意图有关的任何事情。
您需要调用getIntent()
Launcher 活动