Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android – 使用Gradle合并活动intent-filter类别大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
使用Gradle可以添加< category android:name =“android.intent.category.HOME”/>到味道清单中活动的意图过滤器?我的flavor清单包含一个与基本清单同名的活动,但是我从lint获得以下内容错误:活动的重复注册com.xxx.MainActivity [DuplicateActivity]

此外,通过忽略Lint,我可以获得合并但是生成的清单具有来自基础和风味清单的两个意图过滤器块而不是两者的组合.

Gradle版本是0.12.其中the docs似乎暗示它是可能的.

主清单包含以下活动:

<activity
        android:name=".MainActivity">
    <intent-filter>
        <action android:name="com.reveldigital.player.RESTART"/>
        <action android:name="android.intent.action.MAIN"/>

        <category android:name="android.intent.category.DEFAULT"/>
    </intent-filter>
    <intent-filter>
        <action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"/>
    </intent-filter>

    <Meta-data
            android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"
            android:resource="@xml/device_filter"/>
</activity>

风味清单包含:

<activity android:name="com.xxx.MainActivity">
            <intent-filter>
                <action android:name="com.reveldigital.player.RESTART"/>
                <action android:name="android.intent.action.MAIN"/>

                <category android:name="android.intent.category.DEFAULT"/>
                <category android:name="android.intent.category.HOME"/>
            </intent-filter>
</activity>

我得到的结果是这样的

<activity android:name=".MainActivity">
        <intent-filter>
            <action android:name="com.reveldigital.player.RESTART"/>
            <action android:name="android.intent.action.MAIN"/>

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

                    <category android:name="android.intent.category.DEFAULT"/>
                    <category android:name="android.intent.category.HOME"/>
                </intent-filter>
        <intent-filter>
            <action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"/>
        </intent-filter>

        <Meta-data
                android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"
                android:resource="@xml/device_filter"/>
</activity>

解决方法

在你清单上添加以下内容

<manifest ...
xmlns:tools="http://scheR_15_11845@as.android.com/tools"
>

如果您只想更换活动,那么在Flavor Manifest上添加工具:node =“replace”,如下所示:

<activity android:name=".MainActivity" 
        tools:node="replace">
        <intent-filter>
            <action android:name="com.reveldigital.player.RESTART"/>
            <action android:name="android.intent.action.MAIN"/>

            <category android:name="android.intent.category.DEFAULT"/>
            <category android:name="android.intent.category.HOME"/>
        </intent-filter>
</activity>

欲了解更多信息,请访问:http://tools.android.com/tech-docs/new-build-system/user-guide/manifest-merger

大佬总结

以上是大佬教程为你收集整理的android – 使用Gradle合并活动intent-filter类别全部内容,希望文章能够帮你解决android – 使用Gradle合并活动intent-filter类别所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。