在我的项目中有两个应用程序模块。当我尝试使用 Intent 从一个模块的 Activity 转到另一个模块的 Activity 时,我收到一条错误,指出在 list 中找不到第二个 Activity。但这个Activity是注册在第二个模块的Manifest中的。我已经尝试了类似问题的所有答案,但问题仍然存在
我的 Intent 功能:
public void SendToMetronomeActivity() {
Intent mMetronomeIntent = new Intent();
mMetronomeIntent.setClassName("com.infernal93.metronome.activities", "MainMetronomeActivity");
startActivity(mMetronomeIntent);
}
第二个模块的 list :
<activity android:name="com.infernal93.metronome.activities.MainMetronomeActivity"
android:hardwareAccelerated="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
错误:
E/InputEventReceiver: Exception dispatching input event.
E/MessageQueue-JNI: Exception in MessageQueue callback: handleReceiveCallback
E/MessageQueue-JNI: android.content.ActivityNotFoundException: Unable to find explicit activity class {com.infernal93.metronome.activities/MainMetronomeActivity}; have you declared this activity in your AndroidManifest.xml?
at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1801)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1514)
at android.app.Activity.startActivityForResult(Activity.java:4028)
at androidx.fragment.app.j.startActivityForResult(FragmentActivity.java:676)
at android.app.Activity.startActivityForResult(Activity.java:3989)
at androidx.fragment.app.j.startActivityForResult(FragmentActivity.java:663)
at android.app.Activity.startActivity(Activity.java:4312)
at android.app.Activity.startActivity(Activity.java:4280)
at com.mib.livepartiture.Live.MainActivity.y(MainActivity.java:1356)
新错误:
E/InputEventReceiver: Exception dispatching input event.
E/MessageQueue-JNI: Exception in MessageQueue callback: handleReceiveCallback
E/MessageQueue-JNI: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=com.infernal93.metronome.activities.MainMetronomeActivity }
最佳答案
像这样声明您的 Activity :
<activity
android:name=".MainMetronomeActivity"
android:label="Preferences" >
<intent-filter>
<action android:name="com.infernal93.metronome.activities.MainMetronomeActivity />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
并使用它:
Intent i = new Intent("com.infernal93.metronome.activities.MainMetronomeActivity");
关于java - 切换到另一个 Activity 时出错,无法找到显式 Activity 类,您是否在 AndroidManifest 中声明了此 Activity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60989969/