3

У меня есть андроид приложение, которое я пытаюсь запустить, и это дает мне ошибкуAndroid: Отказано Ошибки при изменении Launcher активности

java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.hoosierag/.MainActivity } from null (pid=32395, uid=2000) not exported from uid 10125 

я получаю эту ошибку, когда я пытаюсь изменить деятельность пусковой в манифест. Также я не получаю эту ошибку, когда запускаю ее на эмуляторе, но когда я пытаюсь запустить ее на устройстве. Я пробовал это на 3 различных устройствах Android, и он дал ту же ошибку все три раза. Вот мой код манифеста:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
     package="com.hoosierag" 
     android:versionName="1.11" android:versionCode="4"> 
     <uses-sdk android:minSdkVersion="3"/> 
     <uses-permission android:name="android.permission.INTERNET" /> 
     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission> 
     <uses-permission android:name="android.permission.WAKE_LOCK"></uses-permission> 
     <uses-permission android:name="android.permission.DISABLE_KEYGUARD"></uses-permission> 
     <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission> 
     <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission> 


    <application android:icon="@drawable/icon" android:label="@string/app_name" android:theme="@android:style/Theme.NoTitleBar"> 
     <activity android:name=".MainActivity" android:screenOrientation="portrait" 
        android:label="MainActivity"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity android:name="Main" android:screenOrientation="portrait"/> 
     <activity android:name="News" android:screenOrientation="portrait"/> 
     <activity android:name="Audio" android:screenOrientation="portrait"/> 

Первоначально деятельность Launcher была активна под названием Main. Затем я создал новое действие под названием MainActivity и сделал класс launcher.

+0

Есть ли какая-нибудь строка в вашем лог-коте вокруг разрешения, указывающего, какая строка в вашей деятельности является проблемой? Или какое разрешение вызвало исключение? Обычно эти вещи перечислены в журнале рядом с выдержкой, которую вы вставили. – FoamyGuy

+0

Я думаю, что вы разделили только часть манифеста? общий код манифеста –

+0

вы можете предоставить первую строку MainActivity, которая будет похожа на «пакет .............;» ...... –

ответ

7

stated by Jomia В:

java.lang.SecurityException вы видите, потому что вы можете ввести две записи, указывающие на той же деятельности. Удалите второй и вы должны быть хорошими.

и, наконец, после изменения Основной деятельности в MainActivity манифеста очистить свой Проект от Проект-> Clean ... перед запуском на устройстве

1

Часто требуется в SecurityExceptionnull означает, что компонент не экспортируется. Возможно, это не ваша проблема. Активность автоматически экспортируется, если у нее есть тег <intent-filter>. Я рекомендую

  • очистить проект
  • сборки
  • полного приложения удаления из устройства
  • переустановку
4

Вы должны попытаться отметить MainActivity в вашем AndroidManifest.xml с атрибутом экспортируемого. Как это:

<activity android:exported="true" android:name=".MainActivity" android:screenOrientation="portrait" android:label="MainActivity"> 
0

Если вы используете ГИТ:
Удалить всю папку хранилища и пересинхронизироваться его с GIT-сервер.