我想要一个充当Home Replacement应用程序的应用程序。首次启动允许您配置基本设置的应用程序时,有几项活动。然后你进入主屏幕。在Android Manifest中,我添加了以下行:
<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代码中做到这一点?
答案 0 :(得分:1)
Android让这很容易 - 只需建立一个像这样启动家庭的意图:
Intent home = new Intent(Intent.ACTION_MAIN);
home.addCategory(Intent.CATEGORY_HOME);
Intent有一个生成“选择器”意图的方法。选择器意图启动一个对话框,显示可以响应您创建的意图的所有Activity
;在您的情况下,“家庭”类别:
Intent chooser = Intent.createChooser(home, "Launcher");
mContext.startActivity(chooser);
答案 1 :(得分:0)
我认为你不能强迫系统忘记用户偏好。存储用户首选项后,只有在应用程序更新或安装新的启动器时才会返回。
但你可以强制自己开启一个意图来显示App选择器(“退出”按钮的解决方案):见http://developer.android.com/training/basics/intents/sending.html#AppChooser