0

去年我在运行 Honeycomb 3.0 的 Xoom 上开发了一个应用程序。在该设备上运行时,清单中的以下代码有效。

<intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
            <category android:name="android.intent.category.HOME"/>
            <category android:name="android.intent.category.BROWSER"/>
            <category android:name="android.intent.category.DEFAULT"/> 
</intent-filter>

如您所知,这会注册我的应用程序(特别是 Activity)以侦听“Home Intents”。这工作正常,第一次之后我可以将我的应用程序设置为该操作的默认活动。

现在我已经在运行 Honeycomb 3.1 的三星 Galaxy Tab 上安装了相同的应用程序,无论应用程序处于什么状态或打开了多少次,此功能都不再起作用。

这是故意的吗?这是三星唯一的问题吗?最重要的是——我可以恢复以前在 Xoom 上使用的功能吗?

PS 我的应用程序在其意图上是完全合法的,并且有一个完全可以理解的理由想要替换 Home 应用程序。

4

3 回答 3

0

我在ASUS tablet. 我相信问题是因为启动器被设置为主页按钮的默认应用程序(即,我按下主页按钮,弹出询问我想使用哪个应用程序的弹出窗口,单击“默认情况下用于此操作”复选框弹出窗口的底部,然后选择启动器)。

您可以通过转到Settings->Applications,选择启动器,然后单击Clear Defaults按钮来解决问题。

我收集示例 Home 应用程序起作用的原因是因为它本身清除了默认值(如何,我不知道,但我知道这不是通过在意图过滤器中设置类别来完成的)。

于 2012-06-06T18:20:19.673 回答
0

摆脱:

        <category android:name="android.intent.category.LAUNCHER" />
        <category android:name="android.intent.category.BROWSER"/>

看看是否有帮助。此外,请尝试在您的 SDK 中找到的 Home 示例应用程序。它使用以下内容<intent-filter>

        <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>
于 2012-04-20T18:00:23.460 回答
0

我的解决方案是安装,然后卸载适用于 Android 3.1 的示例 Home 应用程序。

现在按下主页允许在我的应用程序和默认启动器应用程序之间进行选择。

我的应用程序保持不变。

于 2012-04-20T20:15:05.123 回答