Thanks for the advice, but the counter is a display mechanism. If the UI is not showing then it means the user has cancelled the action
Skooter On Dec 30, 10:42 pm, brnzn <[email protected]> wrote: > You might also want to consider moving the countdown out to a > service. That would allow it to keep running even when your UI is not > active. > > On Dec 31, 2:15 pm, Skooter Columbo <[email protected]> wrote: > > > > > I finally figured out why the screen was turning black. It did not > > have anything to do with the Dialog option I picked. It was because I > > had a long running process and I was running it on the UI thread. I > > moved the long running process out to a seperate thread and this > > sperate thread updated the UI thread as need. This allowed the screen > > to display, and to show the count like it was designed too. If you > > need to know more about how do this then read this link. It helped me > > very much. > > >http://code.google.com/android/kb/commontasks.html#threading > > > It is amazing what a 4 hour nap can produce. > > > Skooter :-) > > > On Dec 30, 10:57 am, Skooter Columbo <[email protected]> > > wrote: > > > > I got rid of the AlertDialog, and modified my code to use the > > > ThemeDialog approach. I made sure that I added the attribute > > > android:theme="@android:style/Theme.Dialog" to the Android Manifest > > > file for my application. However I get the same problem. If I comment > > > out the code in the onWindowFocusChanged then the CountDown Activity > > > display, but of course it does not change. A couple of times the > > > screen displayed correctly when the code was uncommented. However it > > > only displayed for screen that showed up before when the code was > > > commented out. I think is some sort of cached screen for faster > > > access, so I don't get my hopes up. > > > > Do you guys have any other ideas? On a lighter note, The display of > > > the dialog is much fast now than before when I was callling > > > AlertDialog.Builder. > > > > Thanks, > > > > Skooer > > > > On Dec 30, 5:00 am,SkooterColumbo<[email protected]> wrote: > > > > > yea, i was using the AlertDialog, and I used the AlertDialog.Builder > > > > to create it. I will try what you suggested. > > > > > Thanks, > > > > >Skooter:-) > > > > > On Dec 30, 3:38 am, "RAJENDIRAN SUNDARRAJAN-CPB738" > > > > > <[email protected]> wrote: > > > > > Hi.. > > > > > > Yes you are correct that the Launch timeout expiry gives the wake > > > > > lock. > > > > > In AlertDialogs the "screen becoming black" depends on the way you > > > > > create it .. > > > > > Please refer the topic "Opening a New Screen" > > > > > fromhttp://code.google.com/android/kb/commontasks.html. Make sure if > > > > > you > > > > > are using the third option of creating a dialog then the attribute > > > > > android:theme="@android:style/Theme.Dialog" need to be added in the > > > > > manifest xml of that activity using the dialog. > > > > > > - Sundar > > > > > > -----Original Message----- > > > > > From: [email protected] > > > > > > [mailto:[email protected]] On Behalf OfSkooter > > > > >Columbo > > > > > Sent: Tuesday, December 30, 2008 2:47 PM > > > > > To: Android Developers > > > > > Subject: [android-developers] Screen Goes Black Between Activities, > > > > > and > > > > > Next Activity never shows up. > > > > > > From my MainActivity the user can click a button that shows a dialog. > > > > > From this dialog the user can set the number of minutes and number of > > > > > seconds from a custom Timer component, and click a start button. When > > > > > they click start, this is the OnClickListener that gets invoked. > > > > > > public void onClick(DialogInterface dialog, int whichButton) { > > > > > AlertDialog alertDialog = (AlertDialog)dialog; > > > > > Timer timer = (Timer)alertDialog.getWindow().findViewById > > > > > (R.id.timer); > > > > > > Intent intent = new Intent(MainActivity.this,CountDown.class); > > > > > intent.putExtra(KEY_MINUTES, timer.getMinutes()); > > > > > intent.putExtra(KEY_SECONDS, timer.getSeconds()); > > > > > startActivity(intent); > > > > > //startActivityForResult(intent, ACTIVITY_COUNT_DOWN); > > > > > } > > > > > > As you can see it is sent to the CountDown activity. What is supposed > > > > > to > > > > > happen is the minutes and seconds that the user selected from the > > > > > dialog > > > > > are displayed on the CountDown screen, and they begin to count down > > > > > and > > > > > an explosion sound is played when zero is reached. What is really > > > > > happening, For some reason the screen goes black, and nothing is > > > > > displayed, however the explosion is played 30 seconds later if user > > > > > selected 30 seconds. The CountDown Activity has two methods onCreate > > > > > and > > > > > onWindowFocusChanged. OnCreate is used to set up the view and > > > > > onWindowFocusChanged is used to count down and update the view as each > > > > > second pasts. I put the count down code in the onWindowFocusChanged > > > > > because it there is no user intervention except to watch the time > > > > > count > > > > > down, and according to the android documentation this is the best > > > > > indicator that the activity is visible to the user.http:// > > > > > code.google.com/android/reference/android/app/ > > > > > Activity.html#onWindowFocusChanged(boolean). See my code below. > > > > > > protected void onCreate(Bundle savedInstanceState) { > > > > > super.onCreate(savedInstanceState); > > > > > setContentView(R.layout.count_down); > > > > > > //instantiate the components > > > > > mMinutesText = (TextView)findViewById(R.id.count_down_minutes); > > > > > mSecondsText = (TextView)findViewById(R.id.count_down_seconds); > > > > > cancelButton = (Button)findViewById(R.id.count_down_cancel); > > > > > > Bundle extras = getIntent().getExtras(); > > > > > mMinutes = extras.getInt(KEY_MINUTES); > > > > > mMinutesText.setText(mMinutes); > > > > > > mSeconds = extras.getInt(KEY_SECONDS); > > > > > mSecondsText.setText(mSeconds); > > > > > > cancelButton.setOnClickListener(new View.OnClickListener() { > > > > > public void onClick(View view) { > > > > > mIsCountingDown = false; > > > > > setResult(RESULT_OK,new Intent()); > > > > > finish(); > > > > > } > > > > > }); > > > > > } > > > > > > @Override > > > > > public void onWindowFocusChanged(boolean hasFocus){ > > > > > super.onWindowFocusChanged(hasFocus); > > > > > if(hasFocus){ > > > > > countDown(mMinutes,mSeconds); > > > > > if(mMinutes == 0 && mSeconds == 0){ > > > > > MediaPlayer mp = MediaPlayer.create(this, mSound); > > > > > mp.start(); > > > > > } > > > > > > Intent mIntent = new Intent(); > > > > > setResult(RESULT_OK,mIntent); > > > > > finish(); > > > > > } > > > > > } > > > > > > Here are logs from LogCat. I am wondering if this "Launch timeout has > > > > > expired, giving up wake lock!" is the problem. If this is the problem > > > > > then what is causing it > > > > > > 12-30 02:40:31.926: INFO/ActivityManager(53): Displayed activity > > > > > com.android.myapp/.CountDown: 14992 ms > > > > > 12-30 02:41:40.408: INFO/ActivityManager(53): Starting activity: > > > > > Intent { comp={com.android.myapp/com.android.myapp.CountDown} (has > > > > > extras) } > > > > > 12-30 02:41:50.454: WARN/ActivityManager(53): Launch timeout has > > > > > expired, giving up wake lock! > > > > > 12-30 02:41:50.549: WARN/ActivityManager(53): Activity idle timeout > > > > > for > > > > > HistoryRecord{43524f10 {com.android.myapp/ > > > > > com.android.myapp.CountDown}} > > > > > 12-30 02:42:00.166: INFO/ActivityManager(53): Displayed activity > > > > > com.android.myapp/.CountDown: 19743 ms > > > > > > Any guidance someone can provide would be very helpful. > > > > > >Skooter:)- Hide quoted text - > > > > > > - Show quoted text -- Hide quoted text - > > > > > - Show quoted text -- Hide quoted text - > > > > - Show quoted text -- Hide quoted text - > > - Show quoted text - --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---

