是否有可能获得我的Android应用程序的Intent?

时间:2013-04-10 08:40:21

标签: android android-intent

我正在寻找一种方法来获取我的Application实施中的Android应用程序的意图。 Application类本身没有getIntent()只有Activities似乎有这种能力。

原因是我有一个有几个意图的应用程序,可以称为无状态。但是我需要用户登录。所以我想检查用户是否已登录,如果没有提交登录对话框,而不是在每个活动中破解相同的代码。

2 个答案:

答案 0 :(得分:1)

在每个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仅用于您继承的其他活动,因此请勿在{{1​​}}中提及。{1}}。您无法在AndroidManifest.xml中获得Intent因为这样的事情毫无意义。只要您的进程正在运行,Application对象就存在。在任何给定时间,您的活动可能只有零个,一个或多个,所以Application会返回什么?

我必须承认,我对于Intent与登录有什么关系感到有些疑惑。看起来你需要一个具有会话状态/凭证的全局对象,而不是与意图有关。

答案 1 :(得分:0)

您需要致电Launcher活动的getIntent()