2012-07-09 58 views
0

我想知道實際的鬧鐘應用程序如何在確切的時間彈出對話框,沒有任何活動在它的背景。如果你可以請看我的this帖子,我正在尋找的確切解決方案,但對這個問題的答案非常感謝。實際的鬧鐘應用程序是如何工作的?

代碼彈出

public void onCreate(Bundle savedinstance) 
{ 
    super.onCreate(savedinstance); 
    //alarmsound = MediaPlayer.create(this, R.raw.wewillrock); 
    alarmsound = new MediaPlayer(); 

     try { 
      if(db.getAlarmCount()!=0) 
      { 
       Cursor alarmcursor = db.getAlarmdetails(this); 
       if(alarmcursor!=null) 
       { 
        alarmcursor.moveToFirst(); 
        String alarmTonepath = alarmcursor.getString(alarmcursor.getColumnIndex(GinoClockDatabase.AL_RINGTONEPATH)); 
        alarmsound.setDataSource(alarmTonepath);  
        alarmsound.prepare(); 
       } 
       db.close(); 
      } 
      db.close(); 
     } catch (IllegalArgumentException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } catch (IllegalStateException e) { 
      // TODO Auto-generated catch block0 
      e.printStackTrace(); 
     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
     alarmsound.start(); 

    ((Activity)Global.context).finish(); 
    setContentView(R.layout.reminderpopupmessage); 
    settingViews(); 
} 
private void settingViews() { 
    yes = (Button) findViewById(R.id.btnReminderyes); 
    no = (Button) findViewById(R.id.btnReminderno); 
} 
@Override 
public void onClick(View v) { 

    switch(v.getId()) 
    { 
    case R.id.btnReminderyes: 
     alarmsound.stop(); 
     Intent splashscreen = new Intent(ReminderPopupMessage.this,SplashScreen.class); 
     startActivity(splashscreen); 
     ReminderPopupMessage.this.finish(); 
     break; 
    case R.id.btnReminderno: 
     alarmsound.stop(); 
     ReminderPopupMessage.this.finish(); 
     break; 
    } 
} 

我找了一個多月了這一解決方案,但未能找到解決方案。我想我已經問了超過5個關於這個報警功能的問題。 我希望我現在能得到答案。

感謝您的幫助球員。

+0

創建您自己的彈出窗口,然後顯示它! – Carnal 2012-07-09 14:29:30

+0

在您的xml文件中,將Activitiy設置爲對話框主題,以獲得如下的彈出窗口布局:android:theme =「@ android:style/Theme.Translucent.NoTitleBar」 – Carnal 2012-07-09 14:31:21

+0

感謝您的評論。實際上,我的鬧鐘在彈出窗口中工作得很好。問題是當彈出顯示我得到上次使用的活動作爲背景..如果使用看到我的帖子,你會知道是什麼問題..請看我的問題 – GoCrazy 2012-07-09 14:34:38

回答

1

好吧,我看到你的問題了Android鬧鐘應用的鏈接。爲了擺脫顯示彈出窗口時的背景活動,請在您的AndroidManifest.xml中使用以下動作作爲鬧鐘彈出:

<activity android:name=".AlarmPopup" android:theme="@android:style/Theme.Dialog" 
       android:clearTaskOnLaunch="true" android:launchMode="singleInstance" 
       android:finishOnTaskLaunch="true" excludeFromRecents="true"/> 
+0

謝謝carnal ..它像魅力工作..非常感謝這一點,因爲我正在尋找這一個多月.. + 1 ..這令人討厭,只從一個活動,當我按Home鍵它進入主屏幕 - >警報彈出窗口 - >後每當我打開應用程序它啓動該活動..我真的很困惑..你有什麼想法.. – GoCrazy 2012-07-09 15:19:25

+0

我真的不明白你。彈出窗口出現後?您按下了主頁按鈕,然後當您再次啓動應用程序時,它會進入該彈出窗口?您應該使用finish()方法實現警報上的關閉按鈕,以便將其從堆棧中移除。不明白你的意思。 – Carnal 2012-07-10 07:12:38

+0

對不起混淆..其實我解決了這個問題..謝謝你的支持.. – GoCrazy 2012-07-10 07:53:34