当前位置: 首页 > 知识库问答 >
问题:

安装apk后没有启动器图标

方河
2023-03-14

我已经建立了apk和安装后没有图标在启动器。应用程序工作正常,我可以用adb启动活动。但为什么应用程序在启动器中没有图标,我不明白。

<?xml version="1.0" encoding="utf-8"?>  
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    .....skiped....
    <application
        android:name="DialerApplication"
        android:label="@string/applicationLabel"
        android:icon="@mipmap/ic_launcher_phone"
        android:hardwareAccelerated="true"
        android:supportsRtl="true"
        android:backupAgent='com.android.dialer.DialerBackupAgent'>

        <meta-data android:name="com.google.android.backup.api_key"
            android:value="AEdPqrEAAAAIBXgtCEKQ6W0PXVnW-ZVia2KmlV2AxsTw3GjAeQ" />


        <!-- The entrance point for Phone UI.
             stateAlwaysHidden is set to suppress keyboard show up on
             dialpad screen. -->
        <activity android:name=".DialtactsActivity"
            android:label="@string/launcherActivityLabel"
            android:theme="@style/DialtactsActivityTheme"
            android:launchMode="singleTask"
            android:clearTaskOnLaunch="true"
            android:icon="@mipmap/ic_launcher_phone"
            android:enabled="@*android:bool/config_voice_capable"
            android:windowSoftInputMode="stateAlwaysHidden|adjustNothing">
            ......skiped......
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.LAUNCHER" />
                <category android:name="android.intent.category.BROWSABLE" />
            </intent-filter>
            ......skiped......
        </activity>

    ......skiped..........
    </application>
</manifest>

似乎我看到了问题的原因。如果我尝试使用adb“adb shell am start mypackagename”启动我的应用程序,我会收到错误:

活动未启动,无法解析Intent{act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER]

但是我在androidManifest中为动作设置了意图过滤器android.intent.action.MAIN和类别android.intent.category.LAUNCHER。

为什么android不为主活动注册动作和类别?

链接到完整的AndroidManifest:https://github.com/Anton111111/android_packages_apps_Dialer/blob/cm-12.1_dialer_for_xperia/AndroidManifest.xml

android full似乎忽略了活动的所有我的意图过滤器。拨号活动。

共有2个答案

上官树
2023-03-14
    <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.DEFAULT"/>
            <category android:name="android.intent.category.LAUNCHER"/>
    </intent-filter>

让它成为

    <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.LAUNCHER"/>
    </intent-filter>
程胡非
2023-03-14

为其特定目的定义多个意图过滤器:

<activity>
    <intent-filter>
        <!-- This will put the activity in launcher. -->
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>

    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <!-- Include the host attribute if you want your app to respond
             only to URLs with your app's domain. -->
        <data android:scheme="http" android:host="www.example.com" />
        <category android:name="android.intent.category.DEFAULT" />
        <!-- The BROWSABLE category is required to get links from web pages. -->
        <category android:name="android.intent.category.BROWSABLE" />
    </intent-filter>
</activity>

示例取自https://developer.android.com/guide/components/intents-common.html

 类似资料:
  • 环境准备 请参考环境准备 创建工作目录 export FALCON_HOME=/home/work export WORKSPACE=$FALCON_HOME/open-falcon mkdir -p $WORKSPACE 解压二进制包 tar -xzvf open-falcon-v0.2.0.tar.gz -C $WORKSPACE 在一台机器上启动所有的后端组件 首先确认配置文件中数据库账号密

  • 我收到以下控制台日志: 它说“检测到状态变化:正在运行”立即变为“已停止”。我曾尝试: 关闭内部网络的Windows防火墙 在两个位置将httpd.conf文件中的端口80更改为99监听:80和ServerNamelocalhost:80 在相同的两个位置将httpd.conf文件中的端口443更改为445。 我的机器上没有安装Apache服务器作为Windows服务。 没有为今天的日期生成错误或

  • whistle安装过程需要以下步骤(缺一不可): 安装Node 安装whistle 启动whistle 配置代理 安装根证书 1. 安装Node whistle支持v0.10.0以上版本的Node,为获取更好的性能,推荐安装最新版本的Node。 如果你的系统已经安装了v0.10.0以上版本的Node,可以忽略此步骤,直接进入安装whistle的步骤,否则: Windows或Mac系统,访问http

  • 我有一个应用程序正在使用“插件应用程序”(没有启动器图标的应用程序,由主应用程序通过intent启动),我想让这个应用程序的Play Store“Open”按钮只打开主应用程序。 是否有一种方法可以不使用启动器图标,而是定义一个入口点,以便在play store安装后启动主应用程序(通过意图或启动一个虚拟活动,该活动将立即启动其他应用程序活动)。 我考虑删除启动器类别“android.intent

  • 我试图将我的应用程序安装到Android L Preview Intel Atom虚拟设备中,它失败了,错误: install_failed_no_matching_abis

  • 为了安装Google Cloud Tools for Eclipse插件1.3.0,我遵循了Google在https://cloud.google.com/eclipse/docs/quickstart.该插件在Eclipse Marketplace中列出为已安装,但工具栏上没有出现谷歌图标。 我的环境是Windows 10 64位、Eclipse Oxigen(面向Web开发人员的Java EE