Как исправить "активность по умолчанию не найдена", когда я установил активность в файле манифеста Android?
Прежде всего, я прочитал похожие вопросы к моему и опробовал все рекомендуемые решения. Эти решения включают в себя:
- Недействительный кеш и перезапуск
- Синхронизация с Gradle
- Перезапуск Android Studio
- Очистить и построить
- Измените настройки на "Ничего" в разделе Launcher
- Изменение имени андроида: в файле манифеста на полное имя пакета (например, 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 ответ
Вот некоторые из возможных причин, которые вы можете проверить
- Есть ли какие-либо действия или действия, которые удалены, но все еще присутствуют в манифесте?
Добавьте этот тег в фильтр намерений и проверьте, работает ли он
<category android:name="android.intent.category.DEFAULT"/>
Проверьте вкладку конфигурации, если она настроена правильно, для получения более подробной информации перейдите по ссылке Ошибка: действие по умолчанию не найдено