#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, оно запускается при первой загрузке, просто не из лаунчера.