Android studio中,编写代码当接收到某个数据时显示弹窗,并且可以点击确认或取消,30秒无动作自动确定
时间: 2023-10-04 20:04:45 浏览: 155
你可以使用AlertDialog来实现这个功能。以下是代码示例:
```java
public class MainActivity extends AppCompatActivity {
private AlertDialog alertDialog;
private Handler handler;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
handler = new Handler();
// 创建AlertDialog.Builder对象
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("接收到数据,是否确认?");
// 设置确认按钮
builder.setPositiveButton("确认", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
// TODO: 处理确认操作
alertDialog.dismiss();
}
});
// 设置取消按钮
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
alertDialog.dismiss();
}
});
// 创建AlertDialog对象
alertDialog = builder.create();
// 接收到数据时显示AlertDialog
// 这里假设数据是通过BroadcastReceiver接收的
BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
alertDialog.show();
// 30秒后自动点击确认按钮
handler.postDelayed(new Runnable() {
@Override
public void run() {
if (alertDialog.isShowing()) {
alertDialog.dismiss();
}
}
}, 30000);
}
};
IntentFilter filter = new IntentFilter();
filter.addAction("com.example.ACTION_RECEIVE_DATA");
registerReceiver(receiver, filter);
}
}
```
在上面的代码中,我们首先创建了一个AlertDialog.Builder对象,并设置了确认和取消按钮的点击事件。然后创建AlertDialog对象,并在接收到数据时显示这个AlertDialog。最后使用Handler实现了30秒无操作自动点击确认按钮的功能。
阅读全文