用户如何选择Android中要启动的活动

时间:2015-05-07 21:06:59

标签: android android-intent android-activity android-lifecycle

我需要我的应用程序的用户能够选择应用程序启动时要启动的Activity。每个用户可能拥有他们最需要的不同活动,我希望用户可以配置它。我在Google上搜索了如何执行此操作并且无法找到解决方案。

任何人都可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

你绝对可以做到这一点,但我会保持我的解决方案通用,这样你就可以用各种不同的方式实现它。

首先,您需要有一个存储位置,用于存储用户选择启动的活动。您可以使用各种方式实现此功能,最快可能是将其存储在SharedPreferences中,但如果您已有数据库,则还可以将其存储在数据库中。

其次,您需要一种方法让用户指定他们想要启动的活动。这可以是设置活动,甚至可以选择当前活动作为默认活动。

一旦掌握了所有这些,只需将各个部分放在一起即可。您将需要一个新活动LauncherActivity,这将是您配置为AndroidManifest中的主要活动。除了可能显示启动画面之外,所有这些活动都将检索存储的活动类,并使用默认值重新启动,并启动意图以启动实际所需的活动。确保在启动意图后调用LauncherActivity上的finish()。

答案 1 :(得分:0)

在manifest.xml文件中:

<activity android:name=".ActivityName" android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
</activity>

请注意,<Activity>节点的android:name属性必须以&#39;开头。&#39;并且只是java文件的名称。例如,如果您的java文件名为Website.java,那么android:name属性将为:

android:name=".Website"