android中启动活动的层次结构



我对android如何启动其启动器活动感到困惑。

  1. 如果我在manifest文件中声明一个启动器活动,如

    <activity android:name=".Activities.Home">
       <intent-filter>
           <action android:name="android.intent.action.MAIN" />
           <category android:name="android.intent.category.LAUNCHER" />
       </intent-filter>
    </activity>
    

我有一个CCD_ 2类,它基于类似的检查调用CCD_

if(ParseUser.getCurrentUser() == null){
            Intent intent = new Intent(context,Home.class);
            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            startActivity(intent);
        }else{
            Intent intent = new Intent(context,MainActivity.class);
            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            startActivity(intent);
        }

哪个优先?CCD_ 4或CCD_。事件的流程是什么例如应用程序->清单(或(清单->应用程序(或(应用程序覆盖清单

  1. 如果我在Android中接收notification,则会调用我的应用程序类。这样就可以启动应用程序类中的活动,如上图所示。有没有一种方法可以检测谁调用应用程序类我的意思是,用户是启动它,还是从进来的notification开始

  2. 如果有办法的话当我收到通知时,如何防止调用Application类中的活动

提前谢谢。

只需从应用程序传递布尔值附加值,并在从应用程序类和用户启动的调用中进行区分。

       Intent intent = new Intent(context,Home.class);
       intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
       intent.putExtra("APP_CALL",True);
       startActivity(intent);

现在在您的Home活动中,只需检查APP_CALL,如果它是从Application类调用的,则布尔值将为true,否则为false。

此外,您还可以编写用于检查登录的splash活动。

相关内容

  • 没有找到相关文章

最新更新