I am not sure if I follow... I am building the widget without using the maps library, because only a limited number of views are permitted anyway. This means running the widget in a separate process would be perfectly fine. I assume this is not happening by default (i.e. after user started the widget) - is there a setting in the Android manifest that would identify the widget as a standalone process? Or does the Intent to start the Activity (that uses the maps library) have to specify that the Activity shall be launched in a separate process?
On May 19, 9:38 am, Dianne Hackborn <[email protected]> wrote: > There won't be a fix for this in 1.5. You may be able to work around it by > having your widget run in its own process (and making sure you don't touch > any of the maps APIs there). > > > > On Tue, May 19, 2009 at 6:23 AM, JP <[email protected]> wrote: > > > That explains it. I use maps. I tried to force loading the maps > > library using ClassLoader this morning - to no avail, as I figured > > anyway. Is there a (known) workaround? > > My perspective... 1.5 OTA update (T-Mobile) hasn't even hit my G1 yet > > and hopefully I don't have to bank on a future OTA update after that > > one. Could be months... > > > On May 18, 10:16 pm, Dianne Hackborn <[email protected]> wrote: > > > If you are using additional libraries (with uses-library) be aware that > > > there is a bug in 1.5 where an app using a widget can have its process > > > launched without those libraries being loaded. > > > > On Mon, May 18, 2009 at 10:13 PM, JP <[email protected]> wrote: > > > > > I am working my way through oh my first widget (so this is 1.5, > > > > obviously) and I'm stuck. I've poked around a problem involving the > > > > launch of an Activity when clicking on a widget. Scenario: User drags > > > > widget on home screen without prior launch of the Activity in > > > > question. I am following this post: > > > > >http://android-developers.blogspot.com/2009/04/introducing-home-scree. > > .. > > > > Instead of launching the browser through ACTION_VIEW, I am trying to > > > > launch an Activity by class. I've toyed around with different Intent > > > > settings, but no luck. > > > > > The following snipped shows the launch log > > > > <------------------ Sanitized log launching Activity > > > > ----------------------> > > > > 05-19 04:28:56.173: INFO/ActivityManager(571): Starting activity: > > > > Intent { action=android.intent.action.MAIN categories= > > > > {android.intent.category.LAUNCHER} flags=0x10200000 comp= > > > > {com.mycompany.myapp/com.mycompany.myapp.MainClass} } > > > > <------------------ Sanitized log ----------------------> > > > > This is identical to a regular launch from the home screen. Below the > > > > code that I use to launch the Activity: > > > > > <------------------ Sanitized code snipped from class that extends > > > > AppWidgetProvider (MyWidgetProvider) -------> > > > > @Override > > > > public void onUpdate(Context context, AppWidgetManager > > > > appWidgetManager, int[] appWidgetIds) { > > > > > super.onUpdate(context, appWidgetManager, appWidgetIds); > > > > > Intent defineIntent = new Intent(Intent.ACTION_MAIN); > > > > defineIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK + > > > > Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED); > > > > defineIntent.addCategory("android.intent.category.LAUNCHER"); > > > > defineIntent.setClassName(context, > > "com.mycompany.myapp.MainClass"); > > > > > PendingIntent pendingIntent = PendingIntent.getActivity > > > > (context, > > > > 0 , defineIntent, 0); > > > > updateViews.setOnClickPendingIntent(R.id.widget, > > > > pendingIntent); > > > > > // Push updates to the home screen > > > > ComponentName thisWidget = new ComponentName(context, > > > > MyWidgetProvider.class); > > > > AppWidgetManager manager = AppWidgetManager.getInstance > > > > (context); > > > > manager.updateAppWidget(thisWidget, updateViews); > > > > } > > > > <------------------ Sanitized code snipped -------> > > > > > Here's what happens (I test emulator only at this point): Upon the > > > > first click, the Activity crashes. Dialog box: "Sorry! The application > > > > MyApp (process (com.mycompany.myapp) has stopped unexpectedly. Please > > > > try again." > > > > With the second tap on the widget, the Activity launches. So I assume > > > > I've got the correct intent filter settings. Below the log following > > > > the first tap: > > > > > <---------------- Sanitized class not found log -----------------> > > > > 05-19 05:03:25.897: ERROR/AndroidRuntime(688): Uncaught handler: > > > > thread main exiting due to uncaught exception > > > > 05-19 05:03:25.996: ERROR/AndroidRuntime(688): > > > > java.lang.RuntimeException: Unable to instantiate activity > > > > ComponentInfo{com.mycompany.myapp/com.mycompany.myapp.MainClass}: > > > > java.lang.ClassNotFoundException: com.mycompany.myapp.MainClassin > > > > loader dalvik.system.pathclassloa...@43594610 > > > > 05-19 05:03:25.996: ERROR/AndroidRuntime(688): at > > > > android.app.ActivityThread.performLaunchActivity(ActivityThread.java: > > > > 2194) > > > > 05-19 05:03:25.996: ERROR/AndroidRuntime(688): at > > > > android.app.ActivityThread.handleLaunchActivity(ActivityThread.java: > > > > 2284) > > > > 05-19 05:03:25.996: ERROR/AndroidRuntime(688): at > > > > android.app.ActivityThread.access$1800(ActivityThread.java:112) > > > > 05-19 05:03:25.996: ERROR/AndroidRuntime(688): at > > > > android.app.ActivityThread$H.handleMessage(ActivityThread.java:1692) > > > > 05-19 05:03:25.996: ERROR/AndroidRuntime(688): at > > > > android.os.Handler.dispatchMessage(Handler.java:99) > > > > 05-19 05:03:25.996: ERROR/AndroidRuntime(688): at > > > > android.os.Looper.loop(Looper.java:123) > > > > 05-19 05:03:25.996: ERROR/AndroidRuntime(688): at > > > > android.app.ActivityThread.main(ActivityThread.java:3948) > > > > 05-19 05:03:25.996: ERROR/AndroidRuntime(688): at > > > > java.lang.reflect.Method.invokeNative(Native Method) > > > > 05-19 05:03:25.996: ERROR/AndroidRuntime(688): at > > > > java.lang.reflect.Method.invoke(Method.java:521) > > > > 05-19 05:03:25.996: ERROR/AndroidRuntime(688): at > > > > com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run > > > > (ZygoteInit.java:782) > > > > 05-19 05:03:25.996: ERROR/AndroidRuntime(688): at > > > > com.android.internal.os.ZygoteInit.main(ZygoteInit.java:540) > > > > 05-19 05:03:25.996: ERROR/AndroidRuntime(688): at > > > > dalvik.system.NativeStart.main(Native Method) > > > > 05-19 05:03:25.996: ERROR/AndroidRuntime(688): Caused by: > > > > java.lang.ClassNotFoundException: com.mycompany.myapp.MainClassin > > > > loader dalvik.system.pathclassloa...@43594610 > > > > 05-19 05:03:25.996: ERROR/AndroidRuntime(688): at > > > > dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243) > > > > 05-19 05:03:25.996: ERROR/AndroidRuntime(688): at > > > > java.lang.ClassLoader.loadClass(ClassLoader.java:573) > > > > 05-19 05:03:25.996: ERROR/AndroidRuntime(688): at > > > > java.lang.ClassLoader.loadClass(ClassLoader.java:532) > > > > 05-19 05:03:25.996: ERROR/AndroidRuntime(688): at > > > > android.app.Instrumentation.newActivity(Instrumentation.java:1097) > > > > 05-19 05:03:25.996: ERROR/AndroidRuntime(688): at > > > > android.app.ActivityThread.performLaunchActivity(ActivityThread.java: > > > > 2186) > > > > 05-19 05:03:25.996: ERROR/AndroidRuntime(688): ... 11 more > > > > <---------------- Sanitized class not found log -----------------> > > > > > After trying different configurations I've run out of ideas. Thanks in > > > > advance for your help! > > > > -- > > > Dianne Hackborn > > > Android framework engineer > > > [email protected] > > > > Note: please don't send private questions to me, as I don't have time to > > > provide private support, and so won't reply to such e-mails. All such > > > questions should be posted on public forums, where I and others can see > > and > > > answer them. > > -- > Dianne Hackborn > Android framework engineer > [email protected] > > Note: please don't send private questions to me, as I don't have time to > provide private support, and so won't reply to such e-mails. All such > questions should be posted on public forums, where I and others can see and > answer them. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~----------~----~----~----~------~----~------~--~---

