我有一个注册/登录和家庭活动的应用程序。如果用户是新用户或已注销,我想打开第一个活动,否则打开家庭活动。我所做的是将登录活动作为启动器并检查用户是否已登录。如果是,则启动Home活动。
问题是当用户登录时,应用程序会打开启动器活动,然后更改为Home活动。过渡很容易看到。
我可以创建一个java类作为启动器来检查我应该先运行哪个活动吗?还是其他任何解决方案?
答案 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>