我发现一些线程报告了类似的问题,但它们都没有真正提供我尚未尝试过的东西.
一个无辜的这样的电话:
mActivity.startActivity(new Intent(mActivity, MyEditPreferences.class));
Run Code Online (Sandbox Code Playgroud)
在AndroidManifest.xml中使用以下内容:
<application>
<activity android:name="MyActivityLib" />
<activity android:name="com.example.baseapp.MyEditPreferences" android:label="@string/app_name">
</activity>
</application>
Run Code Online (Sandbox Code Playgroud)
触发以下异常:
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?
Run Code Online (Sandbox Code Playgroud)
问题是,在将代码从单个应用程序项目更改为由库项目和应用程序项目组成的由两部分组成的项目之前,此代码用于完美地工作.
AndroidManifest.xml是库项目中的一个.
我需要做什么来消除这个ActivityNotFoundException?
所以我正在修改Cube动态壁纸示例.我有一个扩展PreferenceActivity的类,我在清单文件中添加了Activity.我一直在获取ActivityNotFoundExceptions.
这是我的偏好类:
package com.p.t.wallpapers.mywallpaper;
import com.p.t.wallpapers.mywallpaper.R;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceActivity;
public class MySettingsActivity extends PreferenceActivity
implements SharedPreferences.OnSharedPreferenceChangeListener {
@Override
protected void onCreate(Bundle bundle) {
super.onCreate(bundle);
getPreferenceManager().setSharedPreferencesName(
ParticleCandy.SHARED_PREFS_NAME);
addPreferencesFromResource(R.xml.settings);
getPreferenceManager().getSharedPreferences().registerOnSharedPreferenceChangeListener(
this);
}
@Override
protected void onResume() {
super.onResume();
}
@Override
protected void onDestroy() {
getPreferenceManager().getSharedPreferences().unregisterOnSharedPreferenceChangeListener(
this);
super.onDestroy();
}
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences,
String key) {
}
Run Code Online (Sandbox Code Playgroud)
}
这是我的清单文件
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.p.t.wallpapers.mywallpaper"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<service
android:label="@string/app_name"
android:name=".MyWallpaper"
android:permission="android.permission.BIND_WALLPAPER" >
<intent-filter>
<action
android:name="android.service.wallpaper.WallpaperService">
</action>
</intent-filter> …Run Code Online (Sandbox Code Playgroud) android manifest preferences live-wallpaper android-activity