我有一个ListActivity和一个MapActivity.我想在用户在首选项窗口中选择的应用程序启动时启动其中一个活动.
到目前为止,我看到在应用程序启动时启动活动的唯一方法是使用...在应用程序清单文件中指定它.
<activity android:name=".MyActiivty"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)
我想我可能不得不开始一项活动,除了查看用户首选项之外什么都不做,然后启动ListActivity或MapActivity.看起来像浪费一样,活动什么也不做,只能启动另一项活动.在我的研究中,我没有找到解决这个问题的方法.任何建议将不胜感激.
谢谢和问候,戴夫
Com*_*are 18
首先,不要创建第三个活动.只需拥有LAUNCHER Activity列表或地图,并在需要时调用之前调用startActivity()另一个(加号finish()).这样,大约50%的时间,你正在开展正确的活动.onCreate()setContentView()
原则上,您可以让两个活动都有一个LAUNCHER <intent-filter>,只启用一个.但是,这不适用于桌面快捷方式,这些快捷方式将路由到特定活动(在制作快捷方式时恰好配置的那个).如果这不关心你,你可能会走这条路.但是,尝试使用一些设备和自定义主屏幕进行测试 - 我不确定是否每个人都会立即接受您的更改.
小智 5
我刚刚将以下代码添加到onCreate()方法中,它就像魅力一样.
Intent intent;
intent = new Intent(this, MyMap.class);
startActivity( intent );
finish();
Run Code Online (Sandbox Code Playgroud)