改变启动器活动android?

时间:2015-10-11 18:30:26

标签: android

我有一个注册/登录和家庭活动的应用程序。如果用户是新用户或已注销,我想打开第一个活动,否则打开家庭活动。我所做的是将登录活动作为启动器并检查用户是否已登录。如果是,则启动Home活动。

问题是当用户登录时,应用程序会打开启动器活动,然后更改为Home活动。过渡很容易看到。

我可以创建一个java类作为启动器来检查我应该先运行哪个活动吗?还是其他任何解决方案?

2 个答案:

答案 0 :(得分:1)

不,你的建议是不可行的。解决问题的可能方法是使用样式创建透明活动,将其作为启动器活动,并决定打开哪个活动。使用此行为,用户将不会注意到该更改。小心同步做出决定以避免用户被阻止。

答案 1 :(得分:0)

您可以让您的启动器活动成为委托人。例如:

public class LaunchDelegate extends Activity {
  public void onCreate(Bundle args) {
    //check SharedPreferences or whatever to 
    //determine which Activity to launch
  }
}

AndroidManifest.xml中的类似内容:

<activity
     android:name=".LauncherDelegate"
     android:noHistory="true"
     android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" >
   <intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER"/>
  </intent-filter>
</activity>