ActivityNotFoundException(是,此活动在AndroidManifest.xml中声明)

| 我发现有几个线程报告了类似的问题,但是它们都没有真正提供我尚未尝试过的功能。 一个无辜的电话:
mActivity.startActivity(new Intent(mActivity, MyEditPreferences.class));
在AndroidManifest.xml中包含以下内容:
 <application>
    <activity android:name=\"MyActivityLib\" />
    <activity android:name=\"com.example.baseapp.MyEditPreferences\" android:label=\"@string/app_name\">
    </activity>
 </application>
触发以下异常:
06-14 14:06:50.297: ERROR/AndroidRuntime(9272): 
android.content.ActivityNotFoundException: Unable to find explicit activity class
{com.example.baseapp.paypal/com.example.baseapp.MyEditPreferences};
have you declared this activity in your AndroidManifest.xml?
问题是,在我将代码从单片应用程序项目更改为由库项目和应用程序项目组成的2部分项目之前,该代码曾经可以完美地工作。 AndroidManifest.xml是库项目中的一个。 我需要怎么做才能消除此
ActivityNotFoundException
?     
已邀请:
        我刚刚解决了这个问题。 我要做的就是将FQN添加到Application项目的
AndroidManifest.xml
中:
<activity android:name=\"com.example.baseapp.MyEditPreferences\"
          android:label=\"com.example.baseapp.MyActivityLib:string/app_name\">
</activity>
实际上,我完全删除了Library项目的
AndroidManifest.xml
中对ѭ6的任何引用,它仍然有效。 它也适用于原始的startActivity 1行语句:
mActivity.startActivity(new Intent(mActivity, MyEditPreferences.class));
结论:重要的是应用程序的“ 4”,而不是库的。     
        也许这行得通吗?
Intent mIntent = new Intent();
mIntent.setClassName(mActivity, \"com.example.baseapp.MyEditPreferences\");
mActivity.startActivity(mIntent);
    
        如果您使用名称包含在android程序包中的类(设置,首选项,活动等),则需要输入以下内容:
Intent i = new Intent(this, <name_of_your_package>.classname.class);
如果您不输入\“ name_of_your_package \”,则编译器会认为您正在引用android程序包(android。*)中的类。     
        我知道这是一个非常老的线程,但是我遇到了同样的问题。就我而言,我要做的就是删除一个虚假的
import java.util.prefs.Preferences;
    
        只需检查您的清单中是否存在IDE未指出的错误。     

要回复问题请先登录注册