gpt4 book ai didi

android - 将 Intent 添加到 MainActivity 结果为 "No Launcher activity found"

转载 作者:行者123 更新时间:2023-11-30 03:11:08 25 4
gpt4 key购买 nike

我正在尝试向 list 中的 MainActivity intent-filter 添加一个新操作,如下所示:

    <activity
android:name="com.packagename.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<category android:name="android.intent.category.LAUNCHER" />

<action android:name="android.intent.action.MAIN" />
<action android:name="com.packagename.SET_ALARM" />
</intent-filter>
</activity>

但这会导致控制台在我尝试重新安装应用程序时显示消息“未找到启动器 Activity ”,即使包含了 MAIN- 和 LAUNCHER-actions。有什么想法吗?

最佳答案

<intent-filter> 不太可能是你想要的。这将响应 MAINSET_ALARM , 与 LAUNCHER类别。 IOW,使用 SET_ALARM ,你必须使用:

 new Intent("com.packagename.SET_ALARM").addCategory(Intent.CATEGORY_LAUNCHER);

任何第三方应用程序都不太可能使用这样的 Intent .如果这是您自己的应用程序,请使用明确的 Intent (例如 new Intent(this, MainActivity.class) )并去掉 SET_ALARM完全。 当您希望第三方应用程序能够引用您的组件时添加自定义操作(然后,仅当您不向它们提供要使用的 PendingIntent 时)。

如果你真的想要那个SET_ALARM供第三方应用程序使用,您可能需要:

<activity
android:name="com.packagename.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<category android:name="android.intent.category.LAUNCHER" />

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

<action android:name="com.packagename.SET_ALARM" />
</intent-filter>
</activity>

综上所述,我不太确定 Eclipse 为什么不开心。

关于android - 将 Intent 添加到 MainActivity 结果为 "No Launcher activity found",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20959825/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com