в моем заявлении я звоню
startActivityForResult( new Intent(this, ShowPreferencesActivity.class), <some code>);
активность объявлена как:
package ca.qc.webalterpraxis.cinedroid.activity.preference;
public class ShowPreferencesActivity extends PreferenceActivity { ...}
и в моем манифесте я получил:
<activty android:name=".activity.preference.ShowPreferencesActivity" android:label="@string/set_preferences">
Но я получаю исключение при попытке начать действие (в первой строке кода этого вопроса):
E/AndroidRuntime(1830): android.content.ActivityNotFoundException: Unable to find explicit activity class {ca.qc.webalterpraxis.cinedroid/ca.qc.webalterpraxis.cinedroid.activity.preference.ShowPreferencesActivity}; have you declared this activity in your AndroidManifest.xml?
Я попробовал все, что мог:
- замена в манифесте имени класса полностью определенным именем класса
- установка имени класса намерения с помощью setClassName
- предоставление фильтра по умолчанию для действия
Я перезапустил затмение около 10 раз, перезагрузил компьютер, удалил приложение с устройства, повторно запустил и т. Д ...
Я понятия не имею, что происходит. И хуже всего то, что он работал раньше, но не после того, как я переименовал класс. Что-то странное: даже если я переименую класс сейчас, AndroidManifest не будет обновляться в Eclipse, я должен обновить его вручную ... но он все еще работает для других классов ...
Кроме того, обратите внимание, что у меня есть тестовое приложение, кроме тестируемого приложения, и тестовое приложение также не может найти действие для его измерения.
О, и, наконец, что не менее важно, я на 100% уверен, что ShowPreferencesActivity находится в результирующем файле dex, я удалил его для проверки.
Заранее спасибо за ваше время.
(Я использую maven-android-plugin)