0

I'm trying to get an inflated layout to appear upon an alarm being received. So far the parent View is appearing but the inflated layout is not? can you tell me where I've gone wrong?, I am setting it up exactly like my timepicker inflatable but it's just not working for me.

My code:

import java.io.IOException;    
import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.media.RingtoneManager;
import android.net.Uri;
import android.os.Bundle;
import android.os.PowerManager;
import android.os.PowerManager.WakeLock;
import android.util.Log;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;

public class AlarmReceiver extends Activity {
    private MediaPlayer mPlayer;
    private WakeLock mWakeLock;

    @SuppressWarnings("deprecation")
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
        mWakeLock = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK, "my wakelock");
        mWakeLock.acquire();
        this.requestWindowFeature(Window.FEATURE_NO_TITLE);
        this.getWindow().setFlags(
                WindowManager.LayoutParams.FLAG_FULLSCREEN
                        | WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
                        | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON,
                WindowManager.LayoutParams.FLAG_FULLSCREEN
                        | WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
                        | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);

        setContentView(R.layout.sundayopen);
        final Dialog stoplaydialog = new Dialog(this);
        final RelativeLayout stoplay = (RelativeLayout) getLayoutInflater()
                .inflate(R.layout.stoplay, null);


stoplaydialog.requestWindowFeature(Window.FEATURE_NO_TITLE);

stoplaydialog.setContentView(stoplay);

stoplaydialog.show();
        ImageButton stopalarm = (ImageButton) stoplay
                .findViewById(R.id.stopalarm);
        stopalarm.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                mPlayer.stop();
                finish();
                stoplaydialog.dismiss();
                return;

            }
        });
        PlaySound(this, getAlarmUri());
    }

    private void PlaySound(Context context, Uri alert) {
        mPlayer = new MediaPlayer();
        try {
            mPlayer.setDataSource(context, alert);
            final AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
            if (am.getStreamVolume(AudioManager.STREAM_ALARM) != 0)
                ;
            {
                mPlayer.setAudioStreamType(AudioManager.STREAM_ALARM);
                mPlayer.prepare();
                mPlayer.start();
            }

        } catch (IOException e) {
            Log.i("AlaramReciever", "no audio file");
        }
    }

    // Get an alarm sound. If none set, try notification, Otherwise, ringtone.
    private Uri getAlarmUri() {
        Uri alert = RingtoneManager
                .getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
        if (alert == null) {
            alert = RingtoneManager
                    .getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
            if (alert == null) {
                alert = RingtoneManager
                        .getDefaultUri(RingtoneManager.TYPE_RINGTONE);
            }
        }
        return alert;
    }

    protected void onStop() {
        super.onStop();
        mWakeLock.release();

    }
}

Thank you.

Mark Adler
  • 101,978
  • 13
  • 118
  • 158
ToeKnee
  • 47
  • 1
  • 10

0 Answers0