0

我想要一个充当家庭更换应用程序的应用程序。首次启动应用程序时,有几个活动可让您配置基本设置。然后进入主屏幕。在 Android 清单中,我添加了以下几行:

    <activity android:name="com.tabletnanny.HomeScreenMain"
        android:theme="@style/Theme"
        android:launchMode="singleInstance"
        android:stateNotNeeded="true">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.HOME"/>
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
    </activity>

现在我想要的是以下内容:每次用户进入此活动时,都会弹出提示您要将哪个主屏幕设置为默认值的框。无论每次启动应用程序时,都会弹出此消息,即使在之前的启动过程中,用户不小心选择了错误的主屏幕“始终”。我在这个主屏幕上还有一个“退出”按钮。点击“退出”按钮将再次弹出此对话框,并允许您再次选择默认主屏幕。我怎样才能在java代码中做到这一点?

4

2 回答 2

1

Android 让这变得非常简单——只需建立一个启动主页的意图,如下所示:

Intent home = new Intent(Intent.ACTION_MAIN);
home.addCategory(Intent.CATEGORY_HOME);

Intent 有一个生成“Chooser” Intent 的方法。选择器意图启动一个对话框,显示所有Activity可以响应您创建的意图的 s;在您的情况下,“家庭”类别:

Intent chooser = Intent.createChooser(home, "Launcher");
mContext.startActivity(chooser);
于 2013-07-01T15:40:59.750 回答
0

我认为您不能强迫系统忘记用户偏好。存储用户首选项后,只有在应用程序更新或您安装了新的启动器时才会返回。

但是您可以强制您触发自己的意图来显示应用程序选择器(“退出”按钮的解决方案):请参阅http://developer.android.com/training/basics/intents/sending.html#AppChooser

于 2013-07-01T15:40:28.213 回答