Hi,

I'm working on input method. While creating the settings for it I've
stuck with the following problem: settings view (which extends
PreferenceActivity) fails to show if its package differs from the
application's package.
So, application package is "my.ime", and full name of settings view is
"my.ime.settings.MySettings". The exception is:

E/AndroidRuntime(  345): android.content.ActivityNotFoundException:
Unable to find explicit activity class {my.ime.settings/
my.ime.settings.MySettings}; have you declared this activity in your
AndroidManifest.xml?
E/AndroidRuntime(  345):        at
android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:
1480)
E/AndroidRuntime(  345):        at
android.app.Instrumentation.execStartActivity(Instrumentation.java:
1454)
E/AndroidRuntime(  345):        at
android.app.Activity.startActivityForResult(Activity.java:2661)
E/AndroidRuntime(  345):        at
android.app.Activity.startActivity(Activity.java:2705)
E/AndroidRuntime(  345):        at
com.android.settings.LanguageSettings.onPreferenceTreeClick(LanguageSettings.java:
271)
E/AndroidRuntime(  345):        at
android.preference.Preference.performClick(Preference.java:821)
E/AndroidRuntime(  345):        at
android.preference.PreferenceScreen.onItemClick(PreferenceScreen.java:
190)
E/AndroidRuntime(  345):        at
android.widget.AdapterView.performItemClick(AdapterView.java:284)
E/AndroidRuntime(  345):        at
android.widget.ListView.performItemClick(ListView.java:3246)
E/AndroidRuntime(  345):        at android.widget.AbsListView
$PerformClick.run(AbsListView.java:1635)
E/AndroidRuntime(  345):        at
android.os.Handler.handleCallback(Handler.java:587)
E/AndroidRuntime(  345):        at
android.os.Handler.dispatchMessage(Handler.java:92)
E/AndroidRuntime(  345):        at android.os.Looper.loop(Looper.java:123)
E/AndroidRuntime(  345):        at
android.app.ActivityThread.main(ActivityThread.java:4203)
E/AndroidRuntime(  345):        at
java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(  345):        at
java.lang.reflect.Method.invoke(Method.java:521)
E/AndroidRuntime(  345):        at com.android.internal.os.ZygoteInit
$MethodAndArgsCaller.run(ZygoteInit.java:791)
E/AndroidRuntime(  345):        at
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549)
E/AndroidRuntime(  345):        at dalvik.system.NativeStart.main(Native
Method)

The AndroidManifest.xml is OK.
It also works fine if I move the settings view
(my.ime.settings.MySettings) to application package (my.ime).
Non-settings view (my.ime.view.MyActivity) also starts fine, despite
of different package name.

Does Android blocks settings views from another packages (e.g. for
security reasons)?
Or I'm just missing something?

Thanks in advance,
Andriy

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to