예전에 진행했던 어플 개발을 다시 해보려고 하는데요..
알람이 울리고, 0~10초 까지 아무런 액션이 없다면 문자를 자동으로 전송하게 하는거고, 0~10초 사이에 액션(터치로 했어요)이 있다면 그냥 알람이 종료 되게끔
하려고 하는데... 알고리즘 짜는데 굉장히 헷갈려요
0초-----------------------------10초
^ 사이에 액션 있다면 알람 끔 (10초까지 아무액션 없다면 문자전송)
우선 getcurrentposition으로 음악파일 현재값을 가져와서..하려고하는데
어떻게 하면 좋을까요? ㅠㅠ
while문으로 해야하는지.. 아니면 if-else 로 해야하는지..간단해보이는데
제 머리속에서는 도저히 정리가 안되서요ㅠㅠ 힌트라도 도와주시면 감사하겠습니다!
아래는 엉터리 코드 입니다 (1년도 넘은..ㅠㅠ)
package com.andro;
import android.app.Activity;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.telephony.SmsManager;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class AlarmShowActivity extends Activity implements OnClickListener {
TextView textViewAlarmedTime;
MediaPlayer mp;
EditText txtReceiver;
EditText txtMessage;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.alarm_show);
textViewAlarmedTime = (TextView)findViewById(R.id.textViewAlarmedTime);
txtReceiver = (EditText)findViewById(R.id.edit_receiver);
txtMessage = (EditText)findViewById(R.id.edit_message);
Intent intent = getIntent();
String time = intent.getStringExtra("time");
// int reqCode = intent.getIntExtra("reqCode", 0);
textViewAlarmedTime.setText(time + " 입니다." +"\n일어나세요^_^");
mp = MediaPlayer.create(this, R.drawable.alarmsong);
mp.setLooping(false);
mp.start();
/** 알람설정 **/
if(mp.getCurrentPosition() > 10000) // 알람음 재생이 10초가 넘어갈 경우 => 문자전송.
{
String str_receiver = txtReceiver.getText().toString();
String str_message = txtMessage.getText().toString();
//if(str_receiver.length()>0 && str_message.length()>0)
sendSMS(str_receiver, str_message); // 지정해 놓은 번호로 문자전송
}
else //기다리다 =>클릭하면 멈춤.
{
textViewAlarmedTime.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mp.pause(); // 알람음이 멈춤
Intent i = new Intent(AlarmShowActivity.this, SubMainActivity.class);
startActivity(i);
}
});
}
}//protected void onCreate(Bundle savedInstanceState)의 끝
/** 문자전송: 시작 **/
public void sendSMS(String phonenumber, String message) {
PendingIntent pi = PendingIntent.getBroadcast(this, 0, new Intent(this, MainActivity.class), 0);
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(phonenumber, null, message, pi, null); // 문자를 전송함
}
/** 문자전송: 끝 **/
@Override
public void onClick(View v) {
finish();
}
}