2015-09-20 3 views
0

Я создаю apk и после установки нет значка в пусковой установке. Приложение работает правильно, и я могу начать работу с adb. Но почему приложение без значка в пусковой установке я не могу понять.Без значка запуска после установки apk

<?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 оболочки утра начать имя_моего_пакет» я получаю ошибку:

Activity not started, unable to resolve Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER]

Но я установить в AndroidManifestintent-filter для действий android.intent.action.MAIN и категории android.intent.category.LAUNCHER.

Почему андроид не регистрирует действие и категорию для основного вида деятельности?

Ссылка на полный AndroidManifest: https://github.com/Anton111111/android_packages_apps_Dialer/blob/cm-12.1_dialer_for_xperia/AndroidManifest.xml

Похоже, андроид полный игнорирует все мои intent-filter с для деятельности .DialtactsActivity.

+0

и в папках MIPMAP вы определенно есть ic_launcher_phone PNG значок ?? - если это так, вам может потребоваться переименовать его в ic_launcher - возможно, вы ничего не принимаете, кроме ic_launcher - попробуйте это - и вам не нужно (android: icon = "@ mipmap/ic_launcher_phone") в действии - только в приложении тонкий – Tasos

+0

еще один намек на то, что если вы используете эмулятор, есть довольно много значков, поэтому есть вторая страница, которую вы можете перемещать с помощью мыши. Значок приложения может быть на 2-й странице. – Tasos

+0

Какое устройство? Является ли пусковая установка по умолчанию? Какая версия Android? Некоторые версии Android могут не понравиться @mipmap. Попробуйте поместить значок в папку с возможностью рисования и сделайте @drawable/... –

ответ

0

Определение нескольких намерений фильтров для своих конкретных целей:

<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

+0

Я уже сделал несколько фильтров намерений. Это не решает мою проблему: ( – Anton111111

+0

Предполагая, что значок и метка не являются нулевыми, единственным подозрительным значением является этот '@ * android: bool/config_voice_capable'. Если вы установили его в' true', значок все еще отсутствует в Launcher? –

+0

You и я вижу значок. – Anton111111

0
<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> 
Смежные вопросы