如何在单击后禁用我的按钮,并在24小时后或下次约会时启用它



如何在单击后禁用我的按钮,并在24小时后或下一个日期启用它?我是安卓系统的新手。

这是我的代码:

public class ShareDetailActivitySW extends AppCompatActivity implements View.OnClickListener {
private btn_share_sw;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_share_detail);
btn_share_sw = findViewById(R.id.btn_share_sw);

// Please do change in my code I will copy it 
// This is the button to disable 
btn_share_sw.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setType("text/plain");
shareIntent.putExtra(Intent.EXTRA_SUBJECT, getString(R.string.app_name));
shareIntent.putExtra(Intent.EXTRA_TEXT, AppLink);
startActivityForResult(Intent.createChooser(shareIntent, "Share with"), INSTALLCODE);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
}

Inside onClick((:

  1. 使用SharedPreferences API保存当前时间戳
  2. 使用AlarmManager API创建警报(根据您的用例设置((或设置Exact(((

内部onCreate((:

检查保存的时间戳和当前时间戳之间的间隔是否大于一天。如果是,启用按钮;否则禁用它。

还注册一个广播接收器以接收设置的警报(示例(。当收到设置的警报时,启用按钮。

如果您想在重新启动后继续运行,您可能需要重新启动设置的警报(链接(。

AlarmManager的用途是确保即使用户在ShareDetailActivitySW中,并且经过的时间跨越一天,按钮状态也会更新。如果不执行此操作,则只有当用户通过重新启动应用程序或导航到其他活动并导航回ShareDetailActivitySW来重新启动活动时,按钮状态才会更改。

相关内容

最新更新