0

去年,我在运行Honeycomb 3.0的Xoom上开发了一款应用程序。在该设备上运行时,清单中的以下代码工作。Android HoneyComb注册首页活动

<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> 

正如你就会知道这个注册我的应用程序(具体活动)来监听“家庭意向。”这工作得很好,并在第一次后,我可以将我的应用程序设置为此操作的默认活动。

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

这是故意的吗?这是三星唯一的问题吗?最重要的是 - 我可以重新获得我用于Xoom的功能吗?

P.S我的应用程序完全合法的意图,并有一个完全可以理解的理由,要取代家庭应用程序。

回答

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> 
+0

如果我删除LAUNCHER和BROWSER,该应用程序对于“所有应用程序”变得不可见(尽管我仍然可以卸载它),并且运行该活动的唯一方法是使用 adb shell am start -n com.Example/com .Example.Activity' 在任何时候按主页按钮问我是否想使用我的应用程序。 我也看过样品,但没有发现任何东西。 – Edd 2012-04-20 18:28:47

+0

@Edd:我不是指“看看Home示例应用程序” - 我的意思是实际运行它。如果失败了,那么肯定会出现一些三星特有的问题。不过,如果这种方法有效,那么你就有了一个基础来确定你的设置与工作设置的不同之处。 – CommonsWare 2012-04-20 18:46:14

+0

我安装了示例家庭应用程序,然后我做了'adb卸载com.example.android.home',现在所有东西的行为都符合我的预期,允许我在我的应用程序和默认的Launcher应用程序之间进行选择。 因此,我的应用程序保持不变,但安装和删除示例家庭应用程序的过程已永久性地改变了设备的行为(我重新启动了它),现在它的行为如我所愿。 令人困惑,但感谢您的帮助马克 - 固定! :) – Edd 2012-04-20 20:12:06

0

我的解决方案是安装,然后卸载样本家庭应用为Android 3.1。

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

我的应用保持不变。

0

我在ASUS tablet上遇到了同样的问题。我相信这个问题是因为Launcher被设置为Home按钮的默认应用程序(即,我按下了主页按钮,弹出窗口询问我想要使用哪个应用程序,点击'Use this default for this action'复选框弹出底部,然后选择启动器)。

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

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