java - android 如何在 5 分钟后删除 alertdialog?

标签 java android sms android-alertdialog

我想制作 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/

相关文章:

java - 如何使用 maven 在 jar 编译中包含非 java 文件?

android - Android、iPhone 和 Web 上的多人游戏

java - SMPP 提交长消息和消息拆分

php - 使用 PHP cURL 发送 SMS 文本消息的简单 GET 请求

java - 如何将 launch4j 与 Java 自定义运行时镜像一起使用?

java - 如何将单个实现绑定(bind)到 Guice 中的多个通用接口(interface)?

java - XSSFSheet (Apache POI) 排序和过滤

java - Android:向左滑动以将另一个元素添加到列表中

java - 加密和解密字符串

android - SMS 发送在 2.2 Froyo 中有效,但在 ICS 4.0 中无效