Как исправить "активность по умолчанию не найдена", когда я установил активность в файле манифеста Android?

Прежде всего, я прочитал похожие вопросы к моему и опробовал все рекомендуемые решения. Эти решения включают в себя:

  1. Недействительный кеш и перезапуск
  2. Синхронизация с Gradle
  3. Перезапуск Android Studio
  4. Очистить и построить
  5. Измените настройки на "Ничего" в разделе Launcher
  6. Изменение имени андроида: в файле манифеста на полное имя пакета (например, com.example.acer.alertbox.ActivityName)

Кажется, ни одно из этих решений не работает, и я продолжаю получать сообщение об ошибке, в котором говорится, что "действие по умолчанию не найдено". Я пытался понять это уже неделю, поэтому я надеюсь, что кто-то даст мне новое решение, кроме тех 6, которые я упомянул выше. Ниже приведен код манифеста Android, который мне подходит, и который я проверял несколько раз.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          xmlns:tools="http://schemas.android.com/tools"
          package="com.example.acer.alertbox">

    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>

    <application
            android:allowBackup="true"
            android:icon="@mipmap/ic_launcher"
            android:label="@string/app_name"
            android:roundIcon="@mipmap/ic_launcher_round"
            android:supportsRtl="true"
            android:theme="@style/AppTheme"
            tools:ignore="GoogleAppIndexingWarning">

       <activity android:name=".MainActivity">
           <intent-filter>
               <action android:name="android.intent.action.MAIN"/>
               <category android:name="android.intent.category.LAUNCHER"/>
           </intent-filter>
       </activity>

        <activity
                android:name=".LoginActivity"
                android:parentActivityName=".MainActivity">
        </activity>
        <activity
                android:name=".RegisterActivity"
                android:parentActivityName=".MainActivity">
        </activity>
        <activity
                android:name=".SendActivity"
                android:parentActivityName=".MainActivity">
        </activity>
        <activity
                android:name=".Profile"
                android:parentActivityName=".MainActivity">
        </activity>
        <activity android:name=".NotificationActivity">
                  <intent-filter>
                      <action android:name="com.example.acer.alertbox.TARGETNOTIFICATION">
                      </action>
                  </intent-filter>
        </activity>

        <service
            android:name=".FirebaseMessagingService">
            <intent-filter>
                <action android:name="com.google.firebase.MESSAGING_EVENT">
                </action>
            </intent-filter>
        </service>

        <meta-data
                android:name="com.google.firebase.messaging.default_notification_channel_id"
                android:value="@string/default_notification_channel_id" />


    </application>

</manifest>

Обновлено: я удалил и переустановил Android Studio, проблема решена, но пришла другая. Кнопка "Выполнить" ничего не делает, когда я нажимаю на нее, и в правом нижнем углу появляется предупреждение о внутренней ошибке IDE: невозможно найти adb. Я скачал файл adb и нашел его в этом каталоге C:/Acer/Users/Local/Sdk, но все равно он ничего не меняет. Я также перезагрузить, синхронизировать файл проекта gradle и т. Д., Но ничего не работает!! Пожалуйста, кто-нибудь, помогите мне. Ниже то, что я получил из внутреннего сообщения об ошибке:

Unable to locate adb
java.lang.IllegalArgumentException: Unable to locate adb
    at com.android.tools.idea.run.editor.DeployTargetPickerDialog.<init>(DeployTargetPickerDialog.java:131)
    at com.android.tools.idea.run.editor.ShowChooserTargetProvider.showPrompt(ShowChooserTargetProvider.java:113)
    at com.android.tools.idea.run.AndroidRunConfigurationBase.getDeployTarget(AndroidRunConfigurationBase.java:605)
    at com.android.tools.idea.run.AndroidRunConfigurationBase.getState(AndroidRunConfigurationBase.java:287)
    at com.intellij.execution.runners.ExecutionEnvironment.getState(ExecutionEnvironment.java:158)
    at com.intellij.execution.runners.BaseProgramRunner.execute(BaseProgramRunner.java:55)
    at com.intellij.execution.runners.BaseProgramRunner.execute(BaseProgramRunner.java:50)
    at com.intellij.execution.ProgramRunnerUtil.executeConfigurationAsync(ProgramRunnerUtil.java:97)
    at com.intellij.execution.ProgramRunnerUtil.executeConfiguration(ProgramRunnerUtil.java:44)
    at com.intellij.execution.impl.ExecutionManagerImpl.start(ExecutionManagerImpl.java:111)
    at com.intellij.execution.impl.ExecutionManagerImpl.access$300(ExecutionManagerImpl.java:59)
    at com.intellij.execution.impl.ExecutionManagerImpl$3.run(ExecutionManagerImpl.java:439)
    at com.intellij.util.concurrency.QueueProcessor.runSafely(QueueProcessor.java:231)
    at com.intellij.util.Alarm$Request.runSafely(Alarm.java:405)
    at com.intellij.util.Alarm$Request.access$700(Alarm.java:330)
    at com.intellij.util.Alarm$Request$1.run(Alarm.java:371)
    at com.intellij.openapi.application.TransactionGuardImpl$2.run(TransactionGuardImpl.java:315)
    at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.doRun(LaterInvocator.java:447)
    at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.runNextEvent(LaterInvocator.java:431)
    at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:415)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:762)
    at java.awt.EventQueue.access$500(EventQueue.java:98)
    at java.awt.EventQueue$3.run(EventQueue.java:715)
    at java.awt.EventQueue$3.run(EventQueue.java:709)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:732)
    at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:822)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:763)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:423)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

Последнее обновление: проблема решена восстановлением adb.exe из антивируса Avast.

1 ответ

Вот некоторые из возможных причин, которые вы можете проверить

  1. Есть ли какие-либо действия или действия, которые удалены, но все еще присутствуют в манифесте?
  2. Добавьте этот тег в фильтр намерений и проверьте, работает ли он

    <category android:name="android.intent.category.DEFAULT"/>

  3. Проверьте вкладку конфигурации, если она настроена правильно, для получения более подробной информации перейдите по ссылке Ошибка: действие по умолчанию не найдено

Другие вопросы по тегам