在android中启动活动的层次结构

时间:2015-07-10 09:29:10

标签: android android-notifications android-launcher

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

  1. 如果我在此<div class="dynamic-container person"> <div class="symegrid"></div> <div class="officer tf-attribute"></div> <div class="director tf-attribute"></div> </div> 文件中声明启动器活动

    manifest
  2. 我有一个<activity android:name=".Activities.Home"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> 类根据支票调用Application

    activity

    哪一个优先? 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); } manifest。什么是事件流?的 e.g。应用程序 - &gt;清单(或)清单 - &gt;应用程序(或)应用程序覆盖清单?

    1. 如果我在Android中收到Application,则会调用我的Application类。这使得应用程序类中的活动可以启动,如上所示。有没有办法检测谁调用Application类? 我的意思是用户是启动它还是从notification开始?

    2. 如果有办法解决这个问题。 如何在收到通知时阻止调用Application类中的活动?

    3. 提前致谢。

1 个答案:

答案 0 :(得分:1)

只需从应用程序传递布尔额外内容,并在Application类和User Launch的调用中产生差异。

       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类调用,然后bool值为true,否则为false。

此外,您还可以使用启动活动来检查登录信息。