作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想制作 alertdialog buddler,当用户在 5 分钟后没有点击任何按钮时,它可以消失并自动发送短信。我可以显示 alterdialog buddler 但我不知道如何发送短信..
这是我的代码。请帮我改正。
AlarmService_Servierce.java
public class AlarmService_Servierce extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
final Calendar c = Calendar.getInstance();
int mHour = c.get(Calendar.HOUR_OF_DAY);
int mMinute = c.get(Calendar.MINUTE);
int mSecond =c.get(Calendar.SECOND);
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle("NOTICE");
builder.setIcon(R.drawable.notification_icon);
builder.setMessage("notice message");
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
//Do something
dialog.dismiss();
}
});
builder.setNegativeButton("Close", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
dialog.dismiss();
}
});
AlertDialog alert = builder.create();
alert.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
alert.show();
}
}
主 Activity .java
Intent intent = new Intent(MainActivity.this, AlarmService_Service.class);
PendingIntent sender = PendingIntent.getBroadcast(MainActivity.this,
0, intent, 0);
long firstTime = SystemClock.elapsedRealtime();
firstTime += 300*1000;
AlarmManager am = (AlarmManager)getSystemService(ALARM_SERVICE);
am.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP,
firstTime, 10*1000, sender);
final Calendar c = Calendar.getInstance();
int mHour = c.get(Calendar.HOUR_OF_DAY);
int mMinute = c.get(Calendar.MINUTE);
int mSecond =c.get(Calendar.SECOND);
}
private void SendSMS(String phonenumber, String message) {
SmsManager smsManager = SmsManager.getDefault();
String sendTo = phonenumber;
String myMessage = message;
smsManager.sendTextMessage(sendTo, null, myMessage, null, null);
finish();
}
最佳答案
final AlertDialog.Builder dialog = new AlertDialog.Builder(this).setTitle("Leaving launcher").setMessage("Are you sure you want to leave the launcher?");
dialog.setPositiveButton("Confirm", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int whichButton) {
exitLauncher();
}
});
final AlertDialog alert = dialog.create();
alert.show();
// Hide after some seconds
final Handler handler = new Handler();
final Runnable runnable = new Runnable() {
@Override
public void run() {
if (alert.isShowing()) {
alert.dismiss();
}
}
};
alert.setOnDismissListener(new DialogInterface.OnDismissListener() {
@Override
public void onDismiss(DialogInterface dialog) {
handler.removeCallbacks(runnable);
}
});
handler.postDelayed(runnable, 10000);//replace your time
关于java - android 如何在 5 分钟后删除 alertdialog?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32221196/
我是一名优秀的程序员,十分优秀!