美文网首页程序员Android开发今日看点
你的android应用图标怎么不见了?

你的android应用图标怎么不见了?

作者: 暮云清风 | 来源:发表于2016-07-14 15:56 被阅读2161次

    我去,今天写个检测NFC的小demo,高高兴兴写完,然后贴上一卡通测试,我ri,选择应用的时候怎么没有我的应用?小米钱包有,百度地图有,武汉通行有,就没我的demo。不行,打日志,日志正常;断点调试,断点调试正常。什么鬼!!! 突然发现手机桌面居然没有我的应用启动图标!!查看应用列表,应用在啊!!
    第一反应:肯定是icon图标没设置,或者没读出来,回到AndroidManifest.xml查看,一切正常。

    第二反应:我难道没有设置启动页面?再次检查AndroidManifest.xml文件,尼玛启动页面是建工程时系统自动生成的好不好!

    我开始方了!!!口-口 !!

    到底是什么地方出问题了?Java代码我敢肯定正确,这里也不设置对启动图标的设置更改,所以不应该是Java代码的问题。那最有可能的还是AndroidManifest文件的问题了。纵观整个文件,权限设置不可能出现问题。那么剩下的就是action 和 category 的问题了。因为NFC涉及隐式意图启动,所以需要配置action 来保证当检测到NFC的时候能够正常启动你的应用页面。
    想着和在一起不行,那我就分开试试:
    原本写法:

    <activity android:name=".MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <action android:name="android.nfc.action.NDEF_DISCOVERED" />
            <action android:name="android.nfc.action.TECH_DISCOVERED" />
            <action android:name="android.nfc.action.TAB_DISCOVERED" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:mimeType="text/plain" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
     </activity>
    

    现在改成;

    <activity android:name=".MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
        <intent-filter>
            <action android:name="android.nfc.action.NDEF_DISCOVERED" />
            <!--<action android:name="android.nfc.action.TECH_DISCOVERED" />-->
            <!--<action android:name="android.nfc.action.TAB_DISCOVERED" />-->
            <category android:name="android.intent.category.DEFAULT" />
            <!--<data android:mimeType="text/plain" />-->
        </intent-filter>
    </activity>
    

    原因为intent-filter表示activity接受怎样的intent,定义在一个intent-filter中的条件必须都满足才能按照该intent-filter启动,否则按照其他intent-filter启动。而以上明显是两类启动方式,所以必须分开。通过这个介绍可以知道其他的action、category、data冲突也有可能导致这个问题

    相关文章

      网友评论

        本文标题:你的android应用图标怎么不见了?

        本文链接:https://www.haomeiwen.com/subject/xwiejttx.html