0

我想知道实际的警报应用程序如何在准确的时间弹出对话框,而在它的背景中没有任何活动。如果您可以查看我的这篇文章以了解我正在寻找的确切解决方案,但非常感谢您回答这个问题。

弹出代码

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 个关于此警报功能的问题。我希望我现在能得到答案。

谢谢你们的帮助。

4

2 回答 2

2

这是Android报警应用程序git_alarm_app的链接

于 2012-07-09T14:34:44.073 回答
1

好吧,我看到了你的问题。为了在显示弹出窗口时摆脱后台活动,请在您的 AndroidManifest.xml 中使用此活动作为警报弹出:

<activity android:name=".AlarmPopup" android:theme="@android:style/Theme.Dialog"
              android:clearTaskOnLaunch="true" android:launchMode="singleInstance" 
              android:finishOnTaskLaunch="true" excludeFromRecents="true"/>
于 2012-07-09T14:46:47.643 回答