Не удается запустить приложение из лаунчера в Android

#android #launcher #htc-android

#Android #лаунчер #htc-android

Вопрос:

Мое приложение может запускаться из лаунчера на Galaxy Tab, но на HTC Legend я получаю следующую ошибку в logcat:

--------- начало / dev /log /main
D / Rosie (194): не удается запустить действие: android.intent.action.Главная
--------- начало / dev / log / system
I / ActivityManager(97): Запуск действия: Намерение { act=android.intent.action.MAIN cat =[android.intent.category.LAUNCHER] flg = 0x10200000 cmp =com.company.myapp /.Myapp }
Без ActivityManager (97): в разрешении отказано: требуется checkComponentPermission() = 10015
С ActivityManager (97): Отказ в разрешении: намерение запуска { act=android.intent.action.MAIN cat =[android.intent.category.LAUNCHER] flg = 0x10200000 cmp=com.company.myapp /.Myapp } из ProcessRecord{450f1ac8 194:com.htc.launcher /9999} (pid = 194, uid = 9999) требуется значение null

Мой файл манифеста выглядит следующим образом:

 <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.company.myapp"
  android:versionCode="1"
  android:versionName="1.0">
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<application android:icon="@drawable/icon" android:label="@string/app_name" android:debuggable="true">        
    <activity android:name="com.company.SplashScreenActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN"></action>
            <category android:name="android.intent.category.LAUNCHER"></category>
        </intent-filter>
    </activity><activity android:screenOrientation="portrait" android:label="@string/app_name" android:multiprocess="true" android:configChanges="orientation" android:name="Myapp">
    </activity><activity android:name="com.company.CameraActivity" android:multiprocess="true" android:screenOrientation="landscape"></activity>
    <activity android:name="com.company.MainMenu">
    </activity>
    <activity android:name="com.company.ImagePicker">
    </activity>        
</application>
<uses-sdk android:minSdkVersion="8" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
</manifest> 
  

Редактировать: Исправить

Просто пришлось удалить с устройства и переустановить.

Ответ №1:

Я операционный директор. Я отредактировал свой вопрос для исправления, но здесь он также:

Просто пришлось удалить с устройства и переустановить.

Ответ №2:

В вашем манифесте есть пустой <uses-permission></uses-permission> элемент. Попробуйте удалить его.

Ответ №3:

Попробуйте удалить строку в вашем манифесте, которая объявляет пустое разрешение. Возможно, система не знает, как с этим справиться (см. Предупреждение null).

Удалите эту строку:

 <uses-permission></uses-permission>
  

Комментарии:

1. Вы объявляете минимальный пакет SDK как 8 (Android 2.2, он же Froyo). Работает ли ваш HTC legend на 2.2? Если нет, то для него это не сработает. Вам нужно, чтобы ваше приложение поддерживало уровень 7 и выше.

2. Да, это 2.2, оно запускается при первой загрузке, просто не из лаунчера.