bluetooth - Android - Can't get notification to resume activity without running onCreate() -


i have tried looking through lot of other threads on none of replies have helped me. in displaynotification() method this:

    intent intent = new intent(this, mainactivity.class);     intent.setaction(intent.action_main);     intent.addcategory(intent.category_launcher);     intent.setflags(intent.flag_activity_clear_top | intent.flag_activity_single_top); 

and have included in activity in androidmanifest file:

    android:launchmode="singletop" 

however, when try run code log:

07-09 16:26:44.982     726-1167/? i/activitymanager﹕ start u0 {act=android.intent.action.main cat=[android.intent.category.launcher] flg=0x1000c000 cmp=com.example.chrekm.inductivechargingcontroller/.mainactivity} uid 10091 on display 0 07-09 16:26:45.010     726-1167/? v/windowmanager﹕ addapptoken: appwindowtoken{2a93c8d9 token=token{14f61720 activityrecord{1ee92623 u0 com.example.chrekm.inductivechargingcontroller/.mainactivity t14858}}} stack=1 task=14858 @ 2 07-09 16:26:45.023     726-1167/? i/activitymanager﹕ start u0 {act=android.intent.action.main cat=[android.intent.category.launcher] flg=0x24000000 cmp=com.example.chrekm.inductivechargingcontroller/.mainactivity} uid 10091 on display 0 07-09 16:26:45.023      726-798/? v/windowmanager﹕ adding window window{359baa38 u0 starting com.example.chrekm.inductivechargingcontroller} @ 15 of 21 (after window{bcd3a48 u0 com.example.chrekm.inductivechargingcontroller/com.example.chrekm.inductivechargingcontroller.mainactivity}) 

the flags given me in log seems be:

flag_activity_task_on_home - 0x00004000  flag_activity_clear_task - 0x00008000  flag_activity_new_task - 0x10000000  flag_receiver_replace_pending - 0x20000000  flag_activity_clear_top - 0x04000000 

so, doing wrong makes app open new instance of main activity? behavior disconnects bluetooth connection disrupts user experience quite heavily, unfortunately.

ok, managed fix problem myself. instead of using taskstackbuilder did following:

     intent intent = new intent(this, mainactivity.class);       pendingintent pendingintent = pendingintent.getactivity(this, 0, intent, pendingintent.flag_update_current); 

less code , works beautifully! if else has same problem, try using pendingintent.getactivity instead of stackbuilder.getpendingintent.


Comments