タイムピッカーによってユーザーから時間を取得するクラスがあります。タイムピッカーアクションは現在の電話時間と比較する必要があり、現在の電話時間がユーザーセットと同じ場合、アプリはmediaplayer
アラームのように呼び出されるメディアプレーヤーをトリガーする必要があります。今の問題は、タイムピッカーの時間を現在の電話時間で複数回確認できないことです。
import java.util.Calendar;
import android.app.Activity;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.os.Handler;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TimePicker;
import android.widget.Toast;
public class Sabah2 extends Activity {
Button btn;
Intent i;
int hour,min;
static TimePicker picker;
private Handler hh;
private Runnable rr;
Calendar c = Calendar.getInstance();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sabah2);
final MediaPlayer mp = MediaPlayer.create(Sabah2.this, R.raw.salam);
picker = (TimePicker) findViewById(R.id.timePicker1);
btn = (Button) findViewById(R.id.sabah_save);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
hour=picker.getCurrentHour();
min=picker.getCurrentMinute();
Toast.makeText(getApplicationContext(), "The Alarm has been
Activated At "+hour+":"+min, Toast.LENGTH_SHORT).show();
}
});
if(hour==c.get(Calendar.HOUR)&&min==c.get(Calendar.MINUTE))
{
mp.start();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.sabah2, menu);
return true;
}
}