Application dies with "Low Memory: No more background processes." - android

In my application i try launching the browser with the following url:
https://maps.google.com/maps?saddr=indiranagar bangalore&daddr=mgroad bangalore
The browser launches and when the map loads my application gets killed with the following logcat message:
I/ActivityManager( 61): Starting: Intent { act=android.intent.action.VIEW dat=
http://View cmp=com.android.browser/.BrowserActivity (has extras) } from pid 355
I/ActivityManager( 61): Starting: Intent { act=android.intent.action.VIEW dat=
https://maps.google.com/maps?saddr=indiranagar bangalore&daddr=mgroad bangalore
cmp=com.android.browser/.BrowserActivity } from pid 355
D/PhoneWindow( 355): couldn't save which view has focus because the focused vie
w android.widget.EditText#40587640 has no id.
I/ActivityManager( 61): Displayed com.android.browser/.BrowserActivity: +760ms
W/IInputConnectionWrapper( 355): showStatusIcon on inactive InputConnection
I/dalvikvm( 373): Jit: resizing JitTable from 1024 to 2048
I/System.out( 355): Logout Counter:30
D/dalvikvm( 373): GC_CONCURRENT freed 369K, 50% free 3921K/7751K, external 2234
K/2645K, paused 5ms+18ms
D/dalvikvm( 355): GC_EXPLICIT freed 866K, 50% free 3666K/7239K, external 2693K/
3310K, paused 1640ms
D/dalvikvm( 373): GC_CONCURRENT freed 1400K, 54% free 3641K/7751K, external 226
6K/2645K, paused 6ms+26ms
W/browser ( 373): We should not show context menu when nothing is touched
W/browser ( 373): We should not show context menu when nothing is touched
W/browser ( 373): We should not show context menu when nothing is touched
**I/ActivityManager( 61): Process com.aavarp.mobile (pid 355) has died.
I/ActivityManager( 61): Low Memory: No more background processes.**
I/WindowManager( 61): WIN DEATH: Window{408793c0 com.aavarp.mobile/com.aavarp.
mobile.core.ui.ApplicationsActivity paused=false}
E/InputDispatcher( 61): channel '4070e4f8 com.aavarp.mobile/com.aavarp.mobile.
dashboard.ui.components.GraphActivity (server)' ~ Consumer closed input channel
or an error occurred. events=0x8
E/InputDispatcher( 61): channel '4070e4f8 com.aavarp.mobile/com.aavarp.mobile.
dashboard.ui.components.GraphActivity (server)' ~ Channel is unrecoverably broke
n and will be disposed!
I/WindowManager( 61): WIN DEATH: Window{4070e4f8 com.aavarp.mobile/com.aavarp.
mobile.dashboard.ui.components.GraphActivity paused=false}
I/WindowManager( 61): WIN DEATH: Window{406836a8 com.aavarp.mobile/com.aavarp.
mobile.dashboard.ui.components.NotificationList paused=false}
I/WindowManager( 61): WIN DEATH: Window{406825a8 com.aavarp.mobile/com.aavarp.
mobile.dashboard.ui.components.TableListActivity paused=false}
I/WindowManager( 61): WIN DEATH: Window{4083df30 com.aavarp.mobile/com.aavarp.
mobile.dashboard.ui.components.DetailsActivity paused=false}
E/InputDispatcher( 61): Received spurious receive callback for unknown input c
hannel. fd=171, events=0x8
E/InputDispatcher( 61): Received spurious receive callback for unknown input c
hannel. fd=175, events=0x8
E/InputDispatcher( 61): Received spurious receive callback for unknown input c
hannel. fd=181, events=0x8
D/dalvikvm( 61): GC_CONCURRENT freed 1735K, 52% free 4435K/9159K, external 529
2K/6609K, paused 8ms+16ms
D/skia ( 129): purging 38K from font cache [5 entries]
D/dalvikvm( 129): GC_EXPLICIT freed 84K, 52% free 2801K/5767K, external 2117K/2
643K, paused 73ms
Again i tried launching the browser from my application with www.google.com and performed a search and browsed through various pages and navigated back to my application without any issues. I am not sure if am missing some message on the logcat. I use Android 2.3 OS.Could someone kindly help me resolve this issue please. Thanks in advance.

why do you want to load the maps in webview..? you load the map in a map activity or
use Intents List: Invoking Google Applications on Android Devices
String uri = "http://maps.google.com/maps?saddr=" + "9982878"+","+"76285774"+"&daddr="+"9992084"+","+"76286455";
Intent intent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse(uri));
intent.setClassName("com.google.android.apps.maps", "com.google.android.maps.MapsActivity");
startActivity(intent);
Note: for displaying route you should use map activity canvas

Related

Can't find the root cause that app been kill by android

We're working on an Android game, developing with Cocos2d-x.
Our game seems to be killed by android, but we can't find the root cause about the game close. The adb's log is dumped as follows:
adb's log
Critical portion:
D/dalvikvm( 501): GC_CONCURRENT freed 875K, 19% free 4478K/5464K, paused 2ms+2ms, total 22ms
E/Surface ( 965): queueBuffer: error queuing buffer to SurfaceTexture, -12
W/dalvikvm( 965): trying to work around app JNI bugs, but didn't find 0x41906cd8 in table!
W/dalvikvm( 965): JNI WARNING: DeleteLocalRef(0x41906cd8) failed to find entry
I/FrameQueueManage( 174): FrameQueueManage::~FrameQueueManage end!
D/Zygote ( 172): Process 965 terminated by signal (11)
I/ActivityManager( 501): Process igs.rd5.SuperSoccer (pid 965) has died.
I/WindowState( 501): WIN DEATH: Window{41a365d8 u0 igs.rd5.SuperSoccer/org.cocos2dx.cpp.AppActivity}
W/WindowManager( 501): Force-removing child win Window{41a4fcb0 u0 SurfaceView} from container Window{41a365d8 u0 igs.rd5.SuperSoccer/org.cocos2dx.cpp.AppActivity}
W/ActivityManager( 501): Force removing ActivityRecord{41975d20 u0 igs.rd5.SuperSoccer/org.cocos2dx.cpp.AppActivity t2}: app died, no saved state
W/WindowManager( 501): Failed looking up window
W/WindowManager( 501): java.lang.IllegalArgumentException: Requested window android.os.BinderProxy#41a4be58 does not exist
W/WindowManager( 501): at com.android.server.wm.WindowManagerService.windowForClientLocked(WindowManagerService.java:8102)
W/WindowManager( 501): at com.android.server.wm.WindowManagerService.windowForClientLocked(WindowManagerService.java:8093)
W/WindowManager( 501): at com.android.server.wm.WindowState$DeathRecipient.binderDied(WindowState.java:1047)
W/WindowManager( 501): at android.os.BinderProxy.sendDeathNotice(Binder.java:493)
W/WindowManager( 501): at dalvik.system.NativeStart.run(Native Method)
I/WindowState( 501): WIN DEATH: null
D/mali_winsys( 680): new_window_surface returns 0x3000
W/InputMethodManagerService( 501): Got RemoteException sending setActive(false) notification to pid 965 uid 10047
W/Binder ( 652): Caught a RuntimeException from the binder stub implementation.
W/Binder ( 652): java.lang.NullPointerException
W/Binder ( 652): at android.inputmethodservice.IInputMethodWrapper.setSessionEnabled(IInputMethodWrapper.java:284)
W/Binder ( 652): at com.android.internal.view.IInputMethod$Stub.onTransact(IInputMethod.java:129)
W/Binder ( 652): at android.os.Binder.execTransact(Binder.java:404)
W/Binder ( 652): at dalvik.system.NativeStart.run(Native Method)
We don't see any native library's crash dump, and nearly can't see any java's exception that has senses. Cound anybody tell us why our game is killed by android?

Using WeakSubscribe from MvvmCross

I need to subscribe to INotifyPropertyChanged of one of my models in my ViewModel. My research led me to: How do I update the parent viewmodel when child viewmodel is updated.
I tried using WeakSubscribe as suggested in #3 but after entering and leaving the view several times my whole application either freezes or crashes.
Here's my code from Init() in the ViewModel:
foreach (var sale in Model.Sales)
{
sale.WeakSubscribe(delegate
{
Model.CalculateSalesTotals();
});
}
when the app is crashing, I'm getting SIGSEGV:
I/mono-stdout(30334): mvx:Diagnostic:227.00 Showing ViewModel InvoiceAuthorizationViewModel
I/ActivityManager( 391): START u0 {flg=0x10000000 cmp=com.desco.escMobile/escmobile.android.views.InvoiceAuthorizationView (has extras)} from pid 30334
I/mono-stdout(30334): mvx:Diagnostic:227.19 Loading new ViewModel from Intent with Extras
D/dalvikvm(30334): GC_EXPLICIT freed 783K, 5% free 17252K/18068K, paused 2ms+8ms, total 53ms
I/mono-stdout(30334): MvxBind:Warning:227.59 Unable to bind: source property source not found Cirrious.MvvmCross.Binding.Parse.PropertyPath.PropertyTokens.MvxPr
opertyNamePropertyToken on null-object
I/mono-stdout(30334): MvxBind:Warning:227.61 Unable to bind: source property source not found Cirrious.MvvmCross.Binding.Parse.PropertyPath.PropertyTokens.MvxPr
opertyNamePropertyToken on null-object
I/mono-stdout(30334): MvxBind:Warning:227.63 Unable to bind: source property source not found Cirrious.MvvmCross.Binding.Parse.PropertyPath.PropertyTokens.MvxPr
opertyNamePropertyToken on null-object
I/dalvikvm(30334): Jit: resizing JitTable from 4096 to 8192
I/ActivityManager( 391): Displayed com.desco.escMobile/escmobile.android.views.InvoiceAuthorizationView: +755ms (total +1s259ms)
I/ActivityManager( 391): Displayed com.desco.escMobile/escmobile.android.views.InvoiceAuthorizationView: +1s279ms
I/ActivityManager( 391): Process com.android.vending (pid 30179) has died.
E/mono-rt (30334): Stacktrace:
E/mono-rt (30334):
E/mono-rt (30334):
E/mono-rt (30334): =================================================================
E/mono-rt (30334): Got a SIGSEGV while executing native code. This usually indicates
E/mono-rt (30334): a fatal error in the mono runtime or one of the native libraries
E/mono-rt (30334): used by your application.
E/mono-rt (30334): =================================================================
E/mono-rt (30334):
I/ActivityManager( 391): Process com.desco.escMobile (pid 30334) has died.
I/WindowState( 391): WIN DEATH: Window{42cf2e60 u0 com.desco.escMobile/escmobile.android.views.InvoiceAuthorizationView}
W/ActivityManager( 391): Force removing ActivityRecord{42e05b20 u0 com.desco.escMobile/escmobile.android.views.InvoiceAuthorizationView}: app died, no saved st
ate
I/WindowState( 391): WIN DEATH: Window{427bfbf0 u0 com.desco.escMobile/escmobile.android.views.DispatchListView}
I/WindowState( 391): WIN DEATH: Window{42b32b50 u0 com.desco.escMobile/escmobile.android.views.InvoiceDetailsView}
I/WindowState( 391): WIN DEATH: Window{43003e48 u0 com.desco.escMobile/escmobile.android.views.InvoiceAuthorizationView}
I/WindowState( 391): WIN DEATH: Window{42aea920 u0 com.desco.escMobile/escmobile.android.views.DispatchDetailsView}
D/dalvikvm(30434): Late-enabling CheckJNI
I/ActivityManager( 391): Start proc com.desco.escMobile for activity com.desco.escMobile/escmobile.android.views.InvoiceAuthorizationView: pid=30434 uid=10086
gids={50086, 3003, 1015, 1028}
D/Zygote ( 129): Process 30334 exited cleanly (255)
Any suggestions?

Unable to start service Intent { flg=0x4 cmp=mypackage/.AlarmReceiver (has extras) }: not found

Here my manifest? Is a manifest problem? Many many hours spent to discover the problem... is a service that starts a class by intent (using alarmmanager). If no a manifest problem, what's the problem?
Thanks for help!
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.mypackage"
android:versionCode="1"
android:versionName="1" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<application
android:allowBackup="true"
android:icon="#drawable/ic_launcher"
android:label="#string/app_name"
android:theme="#style/AppTheme" android:name="CrashReports">
<service android:name="UnUsedService">
<intent-filter>
<action
android:name="org.gortcloud.startatboot.UnUsedService" />
</intent-filter>
</service>
<receiver android:name="AutoStart">
<intent-filter>
<action
android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.HOME" />
</intent-filter>
</receiver>
<receiver android:name="AlarmReceiver" android:process=":remote"/>
<activity
android:name="com.example.mypackage.MainActivity"
android:label="#string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<service android:enabled="true" android:name=".SobService"/>
<activity android:name="Index"></activity>
<activity android:name="SendText"></activity>
</application>
</manifest>
logcat
E/ThrottleService( 149): problem during onPollAlarm: java.lang.IllegalStateException: problem parsing stats: java.io.FileNotFoundException: /proc/net/xt_qtaguid/iface_stat_all: open failed: ENOENT (No such file or directory)
D/dalvikvm( 149): GC_CONCURRENT freed 637K, 13% free 8307K/9479K, paused 25ms+12ms, total 142ms
D/AndroidRuntime(14611):
D/AndroidRuntime(14611): >>>>>> AndroidRuntime START com.android.internal.os.RuntimeInit <<<<<<
D/AndroidRuntime(14611): CheckJNI is ON
D/dalvikvm(14611): Trying to load lib libjavacore.so 0x0
D/dalvikvm(14611): Added shared lib libjavacore.so 0x0
D/dalvikvm(14611): Trying to load lib libnativehelper.so 0x0
D/dalvikvm(14611): Added shared lib libnativehelper.so 0x0
D/AndroidRuntime(14611): Calling main entry com.android.commands.pm.Pm
W/ActivityManager( 149): No content provider found for permission revoke: file:///data/local/tmp/MainActivity.apk
D/dalvikvm( 2860): GC_CONCURRENT freed 457K, 14% free 5292K/6087K, paused 17ms+4ms, total 75ms
W/ActivityManager( 149): No content provider found for permission revoke: file:///data/local/tmp/MainActivity.apk
D/dalvikvm( 149): GC_CONCURRENT freed 614K, 12% free 8360K/9479K, paused 22ms+30ms, total 125ms
D/dalvikvm( 149): GC_FOR_ALLOC freed 282K, 13% free 8265K/9479K, paused 69ms, total 70ms
D/dalvikvm( 149): GC_FOR_ALLOC freed 234K, 13% free 8267K/9479K, paused 86ms, total 87ms
D/dalvikvm( 149): GC_FOR_ALLOC freed 239K, 13% free 8270K/9479K, paused 68ms, total 68ms
I/PackageManager( 149): Removing non-system package:org.gortcloud.perledisaggezza
I/ActivityManager( 149): Force stopping package org.gortcloud.perledisaggezza uid=10044
I/ActivityManager( 149): Killing proc 10610:org.gortcloud.perledisaggezza/u0a44: force stop
W/ActivityManager( 149): Force removing ActivityRecord{411fe0f0 org.gortcloud.perledisaggezza/.MainActivity}: app died, no saved state
W/InputDispatcher( 149): channel '412b50c0 org.gortcloud.perledisaggezza/org.gortcloud.perledisaggezza.MainActivity (server)' ~ Consumer closed input channel or an error occurred. events=0x9
E/InputDispatcher( 149): channel '412b50c0 org.gortcloud.perledisaggezza/org.gortcloud.perledisaggezza.MainActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
I/WindowState( 149): WIN DEATH: Window{412b50c0 org.gortcloud.perledisaggezza/org.gortcloud.perledisaggezza.MainActivity paused=false}
W/InputDispatcher( 149): Attempted to unregister already unregistered input channel '412b50c0 org.gortcloud.perledisaggezza/org.gortcloud.perledisaggezza.MainActivity (server)'
I/Choreographer( 149): Skipped 75 frames! The application may be doing too much work on its main thread.
I/WindowManager( 149): WINDOW DIED Window{412b50c0 org.gortcloud.perledisaggezza/org.gortcloud.perledisaggezza.MainActivity paused=false}
I/Choreographer( 258): Skipped 238 frames! The application may be doing too much work on its main thread.
I/PackageManager( 149): Package org.gortcloud.perledisaggezza codePath changed from /data/app/org.gortcloud.perledisaggezza-2.apk to /data/app/org.gortcloud.perledisaggezza-1.apk; Retaining data and using new
W/InputMethodManagerService( 149): Got RemoteException sending setActive(false) notification to pid 10610 uid 10044
I/PackageManager( 149): Running dexopt on: org.gortcloud.perledisaggezza
D/dalvikvm(14630): DexOpt: load 129ms, verify+opt 643ms, 962252 bytes
W/PackageManager( 149): Code path for pkg : org.gortcloud.perledisaggezza changing from /data/app/org.gortcloud.perledisaggezza-2.apk to /data/app/org.gortcloud.perledisaggezza-1.apk
W/PackageManager( 149): Resource path for pkg : org.gortcloud.perledisaggezza changing from /data/app/org.gortcloud.perledisaggezza-2.apk to /data/app/org.gortcloud.perledisaggezza-1.apk
D/dalvikvm( 149): GC_FOR_ALLOC freed 320K, 13% free 8281K/9479K, paused 72ms, total 73ms
I/ActivityManager( 149): Force stopping package org.gortcloud.perledisaggezza uid=10044
D/PackageManager( 149): New package installed in /data/app/org.gortcloud.perledisaggezza-1.apk
W/PackageManager( 149): Not granting permission android.permission.READ_LOGS to package org.gortcloud.perledisaggezza (protectionLevel=50 flags=0x8be46)
I/ActivityManager( 149): Force stopping package org.gortcloud.perledisaggezza uid=10044
D/dalvikvm( 204): WAIT_FOR_CONCURRENT_GC blocked 0ms
D/dalvikvm( 258): WAIT_FOR_CONCURRENT_GC blocked 1ms
D/dalvikvm( 204): GC_EXPLICIT freed 216K, 62% free 5881K/15367K, paused 8ms+19ms, total 155ms
D/dalvikvm( 258): GC_EXPLICIT freed 409K, 39% free 7423K/12103K, paused 8ms+22ms, total 156ms
D/dalvikvm( 323): WAIT_FOR_CONCURRENT_GC blocked 0ms
D/dalvikvm( 323): GC_EXPLICIT freed 177K, 10% free 5564K/6151K, paused 8ms+9ms, total 88ms
I/InputReader( 149): Reconfiguring input devices. changes=0x00000010
D/PackageManager( 149): generateServicesMap(android.accounts.AccountAuthenticator): 2 services unchanged
D/PackageManager( 149): generateServicesMap(android.content.SyncAdapter): 4 services unchanged
D/BackupManagerService( 149): Received broadcast Intent { act=android.intent.action.PACKAGE_REMOVED dat=package:org.gortcloud.perledisaggezza flg=0x8000010 (has extras) }
D/dalvikvm( 149): WAIT_FOR_CONCURRENT_GC blocked 0ms
I/AccountTypeManager( 367): Loaded meta-data for 1 account types, 0 accounts in 53ms(wall) 5ms(cpu)
D/dalvikvm( 149): GC_EXPLICIT freed 503K, 15% free 8140K/9479K, paused 65ms+21ms, total 204ms
I/InputReader( 149): Reconfiguring input devices. changes=0x00000010
D/PackageManager( 149): generateServicesMap(android.accounts.AccountAuthenticator): 2 services unchanged
D/PackageManager( 149): generateServicesMap(android.content.SyncAdapter): 4 services unchanged
D/BackupManagerService( 149): Received broadcast Intent { act=android.intent.action.PACKAGE_ADDED dat=package:org.gortcloud.perledisaggezza flg=0x8000010 (has extras) }
V/BackupManagerService( 149): removePackageParticipantsLocked: uid=10044 #1
V/BackupManagerService( 149): addPackageParticipantsLocked: #1
W/InputMethodManagerService( 149): Found no subtypes in a system IME: com.android.inputmethod.pinyin
I/AccountTypeManager( 367): Loaded meta-data for 1 account types, 0 accounts in 11ms(wall) 7ms(cpu)
I/Choreographer( 258): Skipped 533 frames! The application may be doing too much work on its main thread.
D/dalvikvm( 149): WAIT_FOR_CONCURRENT_GC blocked 0ms
D/dalvikvm( 367): GC_CONCURRENT freed 403K, 12% free 5471K/6215K, paused 100ms+14ms, total 174ms
W/RecognitionManagerService( 149): no available voice recognition services found
D/dalvikvm( 149): GC_EXPLICIT freed 400K, 14% free 8170K/9479K, paused 27ms+47ms, total 266ms
D/AndroidRuntime(14611): Shutting down VM
D/dalvikvm(14611): GC_CONCURRENT freed 101K, 78% free 458K/2048K, paused 2ms+1ms, total 13ms
D/jdwp (14611): Got wake-up signal, bailing out of select
D/dalvikvm(14611): Debugger has detached; object registry had 1 entries
I/AndroidRuntime(14611): NOTE: attach of thread 'Binder_3' failed
D/AndroidRuntime(14647):
D/AndroidRuntime(14647): >>>>>> AndroidRuntime START com.android.internal.os.RuntimeInit <<<<<<
D/AndroidRuntime(14647): CheckJNI is ON
D/dalvikvm(14647): Trying to load lib libjavacore.so 0x0
D/dalvikvm(14647): Added shared lib libjavacore.so 0x0
D/dalvikvm(14647): Trying to load lib libnativehelper.so 0x0
D/dalvikvm(14647): Added shared lib libnativehelper.so 0x0
D/AndroidRuntime(14647): Calling main entry com.android.commands.am.Am
I/ActivityManager( 149): START {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=org.gortcloud.perledisaggezza/.MainActivity u=0} from pid 14647
W/WindowManager( 149): Failure taking screenshot for (123x221) to layer 21025
D/AndroidRuntime(14647): Shutting down VM
D/dalvikvm(14647): GC_CONCURRENT freed 102K, 77% free 489K/2048K, paused 1ms+2ms, total 11ms
D/jdwp (14647): Got wake-up signal, bailing out of select
D/dalvikvm(14647): Debugger has detached; object registry had 1 entries
I/AndroidRuntime(14647): NOTE: attach of thread 'Binder_3' failed
D/dalvikvm( 258): GC_CONCURRENT freed 539K, 38% free 7520K/12103K, paused 16ms+127ms, total 360ms
D/dalvikvm(14658): Not late-enabling CheckJNI (already on)
I/ActivityManager( 149): Start proc org.gortcloud.perledisaggezza for activity org.gortcloud.perledisaggezza/.MainActivity: pid=14658 uid=10044 gids={3003, 1028}
E/Trace (14658): error opening trace file: No such file or directory (2)
I/Choreographer( 149): Skipped 35 frames! The application may be doing too much work on its main thread.
D/ACRA (14658): ACRA is enabled for org.gortcloud.perledisaggezza, intializing...
D/ACRA (14658): Using default Report Fields
D/ACRA (14658): Looking for error files in /data/data/org.gortcloud.perledisaggezza/files
D/dalvikvm(14658): GC_FOR_ALLOC freed 179K, 9% free 5372K/5895K, paused 31ms, total 32ms
I/dalvikvm-heap(14658): Grow heap (frag case) to 5.965MB for 457616-byte allocation
D/dalvikvm(14658): GC_CONCURRENT freed 1K, 9% free 5817K/6343K, paused 19ms+13ms, total 61ms
D/dalvikvm(14658): GC_CONCURRENT freed 48K, 6% free 6322K/6663K, paused 15ms+4ms, total 65ms
D/dalvikvm(14658): WAIT_FOR_CONCURRENT_GC blocked 18ms
D/dalvikvm(14658): GC_FOR_ALLOC freed 48K, 6% free 6464K/6855K, paused 41ms, total 41ms
I/dalvikvm-heap(14658): Grow heap (frag case) to 7.234MB for 668816-byte allocation
D/dalvikvm(14658): GC_FOR_ALLOC freed <1K, 6% free 7117K/7559K, paused 58ms, total 58ms
D/dalvikvm(14658): GC_CONCURRENT freed <1K, 6% free 7117K/7559K, paused 16ms+4ms, total 64ms
I/Choreographer(14658): Skipped 58 frames! The application may be doing too much work on its main thread.
I/Choreographer(14658): Skipped 233 frames! The application may be doing too much work on its main thread.
D/gralloc_goldfish(14658): Emulator without GPU emulation detected.
I/ActivityManager( 149): Displayed org.gortcloud.perledisaggezza/.MainActivity: +1s713ms
I/Choreographer( 149): Skipped 61 frames! The application may be doing too much work on its main thread.
I/Choreographer( 149): Skipped 43 frames! The application may be doing too much work on its main thread.
I/Choreographer(14658): Skipped 271 frames! The application may be doing too much work on its main thread.
D/dalvikvm( 243): GC_CONCURRENT freed 384K, 13% free 5798K/6599K, paused 4ms+4ms, total 36ms
I/Choreographer(14658): Skipped 46 frames! The application may be doing too much work on its main thread.
I/Choreographer( 149): Skipped 36 frames! The application may be doing too much work on its main thread.
D/dalvikvm(14692): Not late-enabling CheckJNI (already on)
I/ActivityManager( 149): Start proc org.gortcloud.perledisaggezza:remote for broadcast org.gortcloud.perledisaggezza/.AlarmReceiver: pid=14692 uid=10044 gids={3003, 1028}
E/Trace (14692): error opening trace file: No such file or directory (2)
D/ACRA (14692): ACRA is enabled for org.gortcloud.perledisaggezza, intializing...
D/ACRA (14692): Using default Report Fields
D/ACRA (14692): Looking for error files in /data/data/org.gortcloud.perledisaggezza/files
D/gralloc_goldfish(14692): Emulator without GPU emulation detected.
UnUsedService (starts from my activity by:
startService(new Intent(this, UnUsedService.class));
UnUsedService
public class UnUsedService extends Service {
//private PendingIntent pendingIntent;
#Override
public IBinder onBind(Intent intent) {
return null;
}
#Override
public void onCreate() {
super.onCreate();
Toast.makeText(this, "Service Created", Toast.LENGTH_LONG).show();
//startService(new Intent(this, UnUsedService.class));
}
#Override
public void onDestroy() {
super.onDestroy();
Toast.makeText(this, "Service Destroyed", Toast.LENGTH_LONG).show();
}
private PendingIntent pendingIntent;
#SuppressWarnings("deprecation")
#Override
public void onStart(Intent intent, int startId) {
// super.onStart();
super.onStart(intent, startId);
Toast.makeText(this, "Service Started", Toast.LENGTH_LONG).show();
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 23);
calendar.set(Calendar.MINUTE, 32);
calendar.set(Calendar.SECOND, 0); AlarmManager am = (AlarmManager) getApplicationContext().getSystemService (Context.ALARM_SERVICE);
PendingIntent pi = PendingIntent.getService(getApplicationContext(), 0, new Intent(getApplicationContext(), AlarmReceiver.class), PendingIntent.FLAG_UPDATE_CURRENT);
am.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), AlarmManager.INTERVAL_DAY, pi);
am.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis()+1000, AlarmManager.INTERVAL_DAY, pi);
}};
Receiver:
public class AlarmReceiver extends BroadcastReceiver {
#Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context, "Alarm worked.", Toast.LENGTH_LONG).show();
}
}
I noticed that you're creating the wrong type of PendingIntent:
pendingIntent = PendingIntent.getService(UnUsedService.this, 0, myIntent, 0);
You want to target your BroadcastReceiver, so you need to use:
pendingIntent = PendingIntent.getBroadcast(AlarmReceiver.this, 0, myIntent, 0);
instead of this in your mainifest. .
try this
<activity android:name="com.example.mypackage.Index"></activity>
<activity android:name="com.example.mypackage.SendText"></activity>

Application restarts when user data for contacts app is cleared

My application works with standard android contacts, so I have following permissions in my AndroidManifest.xml:
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
Alas, when I clear user data for standard Contacts application ( Settings -> Applications -> Manage Applications -> All -> Contacts -> Clear data ), my application com.example.dialer restarts:
04-05 15:39:21.161 I/InstalledAppDetails( 9019): Clearing user data for package : com.android.providers.contacts
04-05 15:39:21.181 I/Process ( 252): Sending signal. PID: 8774 SIG: 9
04-05 15:39:21.181 I/Process ( 252): Sending signal. PID: 8761 SIG: 9
04-05 15:39:21.181 I/Process ( 252): Sending signal. PID: 8368 SIG: 9
04-05 15:39:21.181 I/ActivityManager( 252): Force stopping package com.android.providers.contacts uid=10017
04-05 15:39:21.181 I/ActivityManager( 252): Kill com.sonyericsson.android.socialphonebook (pid 8774): provider com.android.providers.contacts.SemcContactsProvider2 in dying process android.process.acore
04-05 15:39:21.181 I/ActivityManager( 252): Kill com.example.dialer (pid 8761): provider com.android.providers.contacts.SemcCallLogProvider in dying process android.process.acore
04-05 15:39:21.231 D/dalvikvm( 9019): GC_CONCURRENT freed 1572K, 52% free 3798K/7815K, external 4576K/5694K, paused 1ms+4ms
04-05 15:39:21.251 E/InputDispatcher( 252): channel '2b440330 com.example.dialer/com.example.dialer.Dialer (server)' ~ Consumer closed input channel or an error occurred. events=0x8
04-05 15:39:21.251 E/InputDispatcher( 252): channel '2b440330 com.example.dialer/com.example.dialer.Dialer (server)' ~ Channel is unrecoverably broken and will be disposed!
04-05 15:39:21.251 I/WindowManager( 252): WINDOW DIED Window{2b440330 com.example.dialer/com.example.dialer.Dialer paused=false}
04-05 15:39:21.261 I/ActivityManager( 252): Process com.example.dialer (pid 8761) has died.
04-05 15:39:21.261 W/ActivityManager( 252): Scheduling restart of crashed service com.example.dialer/.ContactsService in 5000ms
04-05 15:39:21.281 I/InstalledAppDetails( 9019): Cleared user data for package : com.android.providers.contacts
Is it possible to prevent this and update my app's state instead?
AFAIK, if your app contains CONTACT related permissions, means your app is associated with contact app somehow and is dependent on that.
When user cleared the contact app data, whole Contact package is restarted by the system(you can see in logs). That means all applications having CONTACTS related permissions will be restarted.
So I don't think you can stop this.

NullPointerException in background thread when attempting to call messenger

I'm testing a simple Android app that uses a Service, Thread, and Messenger. I noticed when I quickly start and stop the Service I sometimes get a NullPointerException and FORCE CLOSE. I debugged it and found out my Messenger instance is sometimes null and thus my handler does not get called. What am I doing wrong? Do I need to wait before restarting the Service?
OK it just now happened without the quick stop/start of the Service. So I am not sure how to reproduce this problem. It may occur randomly.
I can catch the exception and get rid of the FORCE CLOSE, but that does not solve my problem of my handler not getting called when the Messenger instance is null. I looked at the Services documentation section on Managing the Lifecycle of a Service, and I did not see any mention of having to wait before restarting a Service.
This is how I start my Service:
Intent backgroundService = new Intent(PlayAudio.this, com.marie.mp3player.BackgroundService.class);
backgroundService.putExtra(BackgroundService.EXTRA_MESSENGER, new Messenger(handler));
backgroundService.putExtra(BackgroundService.EXTRA_SONG, song);
startService(backgroundService);
This is how I stop my Service:
Intent backgroundService = new Intent(MP3Player.this, BackgroundService.class);
stopService(backgroundService);
And here is a logcat containing two NullPointerExceptions near the bottom:
D/AndroidRuntime(17736):
D/AndroidRuntime(17736): >>>>>> AndroidRuntime START com.android.internal.os.RuntimeInit <<<<<<
D/AndroidRuntime(17736): CheckJNI is OFF
D/dalvikvm(17736): creating instr width table
D/AndroidRuntime(17736): Calling main entry com.android.commands.pm.Pm
I/ActivityManager( 96): Start proc com.android.defcontainer for service com.android.defcontainer/.DefaultContainerService: pid=17744 uid=10011 gids={1015, 2001}
D/dalvikvm(17744): GC_EXPLICIT freed 46K, 50% free 2720K/5379K, external 1625K/2137K, paused 34ms
W/ActivityManager( 96): No content provider found for:
D/PackageParser( 96): Scanning package: /data/app/vmdl-1782488429.tmp
W/ActivityManager( 96): No content provider found for:
I/PackageManager( 96): Removing non-system package:com.marie.mp3player
I/ActivityManager( 96): Force stopping package com.marie.mp3player uid=10091
D/PackageManager( 96): Scanning package com.marie.mp3player
I/PackageManager( 96): Package com.marie.mp3player codePath changed from /data/app/com.marie.mp3player-2.apk to /data/app/com.marie.mp3player-1.apk; Retaining data and using new
I/PackageManager( 96): Unpacking native libraries for /data/app/com.marie.mp3player-1.apk
D/installd( 70): DexInv: --- BEGIN '/data/app/com.marie.mp3player-1.apk' ---
D/dalvikvm(17752): creating instr width table
D/dalvikvm(17752): DexOpt: load 5ms, verify+opt 18ms
D/installd( 70): DexInv: --- END '/data/app/com.marie.mp3player-1.apk' (success) ---
D/PackageManager( 96): Services: com.marie.mp3player.BackgroundService
D/PackageManager( 96): Activities: com.marie.mp3player.MP3Player com.marie.mp3player.PlayAudio
I/ActivityManager( 96): Force stopping package com.marie.mp3player uid=10091
W/PackageManager( 96): Code path for pkg : com.marie.mp3player changing from /data/app/com.marie.mp3player-2.apk to /data/app/com.marie.mp3player-1.apk
W/PackageManager( 96): Resource path for pkg : com.marie.mp3player changing from /data/app/com.marie.mp3player-2.apk to /data/app/com.marie.mp3player-1.apk
I/installd( 70): move /data/dalvik-cache/data#app#com.marie.mp3player-1.apk#classes.dex -> /data/dalvik-cache/data#app#com.marie.mp3player-1.apk#classes.dex
D/PackageManager( 96): New package installed in /data/app/com.marie.mp3player-1.apk
I/ActivityManager( 96): Force stopping package com.marie.mp3player uid=10091
D/dalvikvm( 96): GC_EXPLICIT freed 842K, 41% free 6421K/10759K, external 2424K/3027K, paused 106ms
D/dalvikvm( 192): GC_EXPLICIT freed 16K, 45% free 4617K/8327K, external 15977K/17649K, paused 67ms
D/dalvikvm( 158): GC_EXPLICIT freed 525K, 54% free 3151K/6791K, external 2480K/3071K, paused 49ms
I/ActivityManager( 96): Start proc com.appspot.swisscodemonkeys.apps for broadcast com.appspot.swisscodemonkeys.apps/.PackageReceiver: pid=17753 uid=10084 gids={3003}
I/ActivityThread(17753): Pub appbrain.SuggestionProvider: com.appspot.swisscodemonkeys.apps.search.SearchSuggestionSampleProvider
D/dalvikvm(11468): GC_EXPLICIT freed 2K, 49% free 2965K/5767K, external 1625K/2137K, paused 314ms
I/ActivityManager( 96): Start proc com.noshufou.android.su for broadcast com.noshufou.android.su/.UninstallReceiver: pid=17761 uid=10056 gids={1015, 3003}
D/dalvikvm( 96): GC_EXPLICIT freed 273K, 41% free 6367K/10759K, external 2424K/3027K, paused 101ms
I/installd( 70): unlink /data/dalvik-cache/data#app#com.marie.mp3player-2.apk#classes.dex
D/AndroidRuntime(17736): Shutting down VM
D/dalvikvm(17736): GC_CONCURRENT freed 101K, 72% free 296K/1024K, external 0K/0K, paused 0ms+1ms
D/jdwp (17736): Got wake-up signal, bailing out of select
D/dalvikvm(17736): Debugger has detached; object registry had 1 entries
I/ActivityManager( 96): Start proc com.android.voicedialer for broadcast com.android.voicedialer/.VoiceDialerReceiver: pid=17770 uid=10048 gids={3002}
D/VoiceDialerReceiver(17770): onReceive Intent { act=android.intent.action.PACKAGE_REMOVED dat=package:com.marie.mp3player flg=0x10000000 cmp=com.android.voicedialer/.VoiceDialerReceiver (has extras) }
V/RecognizerEngine(17770): deleteCachedGrammarFiles /data/data/com.android.voicedialer/files/openentries.txt
I/ActivityManager( 96): Start proc com.android.vending for broadcast com.android.vending/.PackageMonitorReceiver: pid=17779 uid=10046 gids={1015, 3003}
D/dalvikvm( 67): GC_EXPLICIT freed 11K, 50% free 2717K/5379K, external 1625K/2137K, paused 94ms
D/dalvikvm( 67): GC_EXPLICIT freed <1K, 50% free 2717K/5379K, external 1625K/2137K, paused 81ms
I/ActivityThread(17779): Pub com.android.vending.SuggestionsProvider: com.android.vending.SuggestionsProvider
D/vending (17779): [1] VendingApplication.onCreate(): Resetting ServiceLocator from app
D/dalvikvm( 67): GC_EXPLICIT freed <1K, 50% free 2717K/5379K, external 1625K/2137K, paused 93ms
D/InstallReceiver(17761): com.marie.mp3player
I/ActivityManager( 96): Start proc com.google.android.partnersetup for broadcast com.google.android.partnersetup/.AppInstalledReceiver: pid=17791 uid=10021 gids={}
D/AndroidRuntime(17783):
D/AndroidRuntime(17783): >>>>>> AndroidRuntime START com.android.internal.os.RuntimeInit <<<<<<
D/AndroidRuntime(17783): CheckJNI is OFF
D/dalvikvm(17783): creating instr width table
D/GTalkService( 211): handlePackageInstalled: re-initialize providers
D/GTalkService( 211): [RawStanzaProvidersMgr] ##### searchProvidersFromIntent
D/GTalkService( 211): [RawStanzaProvidersMgr] no intent receivers found
D/VoiceDialerReceiver(17770): onReceive Intent { act=android.intent.action.PACKAGE_ADDED dat=package:com.marie.mp3player flg=0x10000000 cmp=com.android.voicedialer/.VoiceDialerReceiver (has extras) }
V/RecognizerEngine(17770): deleteCachedGrammarFiles /data/data/com.android.voicedialer/files/openentries.txt
I/ActivityManager( 96): Start proc com.google.android.googlequicksearchbox for broadcast com.google.android.googlequicksearchbox/.CorporaUpdateReceiver: pid=17798 uid=10022 gids={3003}
I/ActivityThread(17798): Pub com.google.android.googlequicksearchbox.shortcuts: com.google.android.googlequicksearchbox.ShortcutsProvider
I/ActivityThread(17798): Pub com.google.android.googlequicksearchbox.google: com.google.android.googlequicksearchbox.google.GoogleSuggestionProvider
I/ActivityManager( 96): Start proc com.google.android.apps.maps:FriendService for broadcast com.google.android.apps.maps/com.google.googlenav.friend.android.ServiceReceiver: pid=17812 uid=10033 gids={3003, 1015}
D/AndroidRuntime(17783): Calling main entry com.android.commands.am.Am
I/ActivityManager( 96): Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.marie.mp3player/.MP3Player } from pid 17783
D/AndroidRuntime(17783): Shutting down VM
D/dalvikvm(17783): GC_CONCURRENT freed 102K, 69% free 320K/1024K, external 0K/0K, paused 0ms+0ms
D/jdwp (17783): Got wake-up signal, bailing out of select
D/dalvikvm(17783): Debugger has detached; object registry had 1 entries
I/ActivityManager( 96): Start proc com.marie.mp3player for activity com.marie.mp3player/.MP3Player: pid=17822 uid=10091 gids={}
I/AndroidRuntime(17783): NOTE: attach of thread 'Binder Thread #3' failed
I/ActivityManager( 96): Start proc com.google.android.apps.maps:NetworkLocationService for service com.google.android.apps.maps/com.google.android.location.internal.server.NetworkLocationService: pid=17830 uid=10033 gids={3003, 1015}
I/ActivityManager( 96): Displayed com.marie.mp3player/.MP3Player: +429ms
I/ActivityManager( 96): Start proc com.noinnion.android.greader.readerpro for broadcast com.noinnion.android.greader.readerpro/.OnUpgradeReceiver: pid=17831 uid=10070 gids={3003, 1015}
V/RenderScript_jni( 192): surfaceDestroyed
I/ActivityThread(17831): Pub com.noinnion.android.greader.readerpro: com.noinnion.android.greader.readerpro.ReaderProvider
D/InternalNlpService(17830): onCreate
D/NetworkLocationServiceThread(17830): start monitoring enabled
D/NetworkLocationServiceThread(17830): updateState
D/NetworkLocationServiceThread(17830): Creating RealOs
D/vending (17779): [11] LocalAssetCache.updateOnePackage(): No local info for com.marie.mp3player
D/szipinf (17830): Initializing inflate state
D/szipinf (17830): Initializing zlib to inflate
D/vending (17779): [12] LocalAssetCache.updateOnePackage(): No local info for com.marie.mp3player
D/dalvikvm(17830): GC_CONCURRENT freed 460K, 43% free 3851K/6727K, external 1625K/2137K, paused 2ms+3ms
D/WifiLocator(17830): Too many cache misses. Need server request. hasLocation=0 noLocation=1 cacheMiss=2
I/System.out(17830): [INFO:1747]: f: Running flush
I/System.out(17830): [INFO:1761]: f: Sending payload [bytes=300]
I/System.out(17830): [INFO:6772]: f: Running flush
I/System.out(17830): [INFO:6761]: f: Running delayed flush
I/ActivityManager( 96): Start proc org.my_pod.mypod for service org.my_pod.mypod/net.robmunro.mypod.UpdateFeedsService: pid=17853 uid=10080 gids={3003, 1015}
I/ActivityThread(17853): Pub org.my_pod.mypod: net.robmunro.mypod.util.MyPodContentProvider
I/ActivityManager( 96): Starting: Intent { cmp=com.marie.mp3player/.PlayAudio (has extras) } from pid 17822
I/handleMessge(17822): songNum: 10
I/ActivityManager( 96): Displayed com.marie.mp3player/.PlayAudio: +297ms
W/KeyCharacterMap(17822): No keyboard for id 131074
W/KeyCharacterMap(17822): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
D/MP3Player(17822): Stop the background Service
D/WifiLocator(17830): Too many cache misses. Need server request. hasLocation=0 noLocation=1 cacheMiss=2
E/GlsClient-query(17830): requestFailed
E/GlsClient-query(17830): ay.g
E/GlsClient-query(17830): at ay.d.t(Unknown Source)
E/GlsClient-query(17830): at ay.b.a(Unknown Source)
E/GlsClient-query(17830): at Z.b.g(Unknown Source)
E/GlsClient-query(17830): at Z.a.g(Unknown Source)
E/GlsClient-query(17830): at Z.d.run(Unknown Source)
E/GlsClient-query(17830): at aE.d.run(Unknown Source)
D/dalvikvm(13124): GC_EXPLICIT freed 2K, 50% free 2715K/5379K, external 1625K/2137K, paused 56ms
D/dalvikvm( 192): GC_EXPLICIT freed 88K, 44% free 4690K/8327K, external 16026K/17649K, paused 85ms
D/MP3Player(17822): Stop the background Service
I/ActivityManager( 96): Starting: Intent { cmp=com.marie.mp3player/.PlayAudio (has extras) } from pid 17822
I/handleMessge(17822): songNum: 10
I/ActivityManager( 96): Displayed com.marie.mp3player/.PlayAudio: +305ms
D/MP3Player(17822): Stop the background Service
D/dalvikvm(17830): GC_CONCURRENT freed 1201K, 51% free 3612K/7239K, external 1625K/2137K, paused 3ms+3ms
I/ActivityManager( 96): Starting: Intent { cmp=com.marie.mp3player/.PlayAudio (has extras) } from pid 17822
I/handleMessge(17822): songNum: 10
I/System.out(17830): [INFO:50519]: f: Response [http=200,length=147]
I/ActivityManager( 96): Displayed com.marie.mp3player/.PlayAudio: +307ms
I/ActivityManager( 96): Starting: Intent { cmp=com.marie.mp3player/.PlayAudio (has extras) } from pid 17822
I/ActivityManager( 96): Displayed com.marie.mp3player/.PlayAudio: +255ms
D/MP3Player(17822): Stop the background Service
I/ActivityManager( 96): Starting: Intent { cmp=com.marie.mp3player/.PlayAudio (has extras) } from pid 17822
I/handleMessge(17822): songNum: 10
I/ActivityManager( 96): Displayed com.marie.mp3player/.PlayAudio: +302ms
D/MP3Player(17822): Stop the background Service
I/ActivityManager( 96): Starting: Intent { cmp=com.marie.mp3player/.PlayAudio (has extras) } from pid 17822
I/handleMessge(17822): songNum: 10
I/ActivityManager( 96): Displayed com.marie.mp3player/.PlayAudio: +296ms
D/MP3Player(17822): Stop the background Service
I/ActivityManager( 96): Starting: Intent { cmp=com.marie.mp3player/.PlayAudio (has extras) } from pid 17822
I/handleMessge(17822): songNum: 10
I/ActivityManager( 96): Displayed com.marie.mp3player/.PlayAudio: +294ms
D/MP3Player(17822): Stop the background Service
I/ActivityManager( 96): Starting: Intent { cmp=com.marie.mp3player/.PlayAudio (has extras) } from pid 17822
E/(Messenger)messenger: (17822): NullPointerException
W/System.err(17822): java.lang.NullPointerException
W/System.err(17822): at com.marie.mp3player.BackgroundService$ServiceWorker.run(BackgroundService.java:65)
W/System.err(17822): at java.lang.Thread.run(Thread.java:1019)
I/ActivityManager( 96): Displayed com.marie.mp3player/.PlayAudio: +278ms
D/MP3Player(17822): Stop the background Service
I/ActivityManager( 96): Starting: Intent { cmp=com.marie.mp3player/.PlayAudio (has extras) } from pid 17822
E/(Messenger)messenger: (17822): NullPointerException
W/System.err(17822): java.lang.NullPointerException
W/System.err(17822): at com.marie.mp3player.BackgroundService$ServiceWorker.run(BackgroundService.java:65)
W/System.err(17822): at java.lang.Thread.run(Thread.java:1019)
I/ActivityManager( 96): Displayed com.marie.mp3player/.PlayAudio: +282ms
D/MP3Player(17822): Stop the background Service
I/ActivityManager( 96): Starting: Intent { cmp=com.marie.mp3player/.PlayAudio (has extras) } from pid 17822
I/handleMessge(17822): songNum: 10
I/ActivityManager( 96): Displayed com.marie.mp3player/.PlayAudio: +307ms
D/MP3Player(17822): Stop the background Service
I/ActivityManager( 96): Starting: Intent { cmp=com.marie.mp3player/.PlayAudio (has extras) } from pid 17822
I/handleMessge(17822): songNum: 10
I/ActivityManager( 96): Displayed com.marie.mp3player/.PlayAudio: +284ms
D/MP3Player(17822): Stop the background Service
I/ActivityManager( 96): Starting: Intent { cmp=com.marie.mp3player/.PlayAudio (has extras) } from pid 17822
I/handleMessge(17822): songNum: 10
I/ActivityManager( 96): Displayed com.marie.mp3player/.PlayAudio: +291ms
It was suggested that I add the code where the NullPointerException occurs. Very important. In fact here's the whole thread where the exception occurs marked with an arrow and stars:
/*
* This is the ServiceWorker thread that calls messenger to pass messages
* and data to the PlayAudio activity.
*/
class ServiceWorker implements Runnable
{
public void run() {
// do background processing here... a simple message for now
// send a message to the handler defined in the PlayAudio
try {
Message msg1 = Message.obtain();
msg1.obj = "Song";
msg1.arg1 = song;
if (messenger == null) Log.e("(Messenger)messenger: ", "NullPointerException");
messenger.send(msg1); // <== *** EXCEPTION OCCURS HERE ***
} catch (RemoteException e) {
e.printStackTrace();
} catch (NullPointerException e) {
e.printStackTrace();
}
// stop the service when done...
// BackgroundService.this.stopSelf();
// Or use the unbindBtn in the MP3Player activity.
}
}
If anyone sees a mistake here that would sometimes cause my Message instance to be null I sure would appreciate an answer.
Marie, assuming that the rest of your service is as in your other question. Here is what happens and causes your NPE.
In onCreate you create and start your thread, but you extract messenger in onStart method. If your worker method executes before onStart, you get NPE. The order of them is random, so sometimes you get NPE and sometimes not.

Categories

Resources