Saturday, December 29, 2018

Phát hiện người dùng đổi ngày giờ hệ thống



Có những ứng dụng cần sử dụng ngày giờ hệ thống, khi người dùng vào Setting để thay đổi ta cần biết để cập nhật ứng dụng. Ta sẽ dùng Broadcast để lắng nghe sự kiện này.
Khai báo biến sau lên trên cùng class.
static IntentFilter s_intentFilter = new IntentFilter();
    static {
 s_intentFilter.addAction(Intent.ACTION_TIME_TICK);
s_intentFilter.addAction(Intent.ACTION_TIMEZONE_CHANGED);
s_intentFilter.addAction(Intent.ACTION_TIME_CHANGED);
    }
Copy hàm sau vào trên ngoặc đóng cuối cùng của class.
final BroadcastReceiver ti = new BroadcastReceiver() {
         @Override
public void onReceive(Context context, Intent intent) {
  final String action = intent.getAction();
 if (action.equals(Intent.ACTION_TIME_CHANGED)
                      ||action.equals(Intent.ACTION_TIMEZONE_CHANGED)) {
                 //code cập nhật ở đây.
             }
         }
    };
Copy xuống dưới setContentView();
registerReceiver(ti, s_intentFilter);
Thêm đoạn này để hủy khi thoát class.
@Override
    protected void onDestroy() {
         unregisterReceiver(ti);
         super.onDestroy();
    }

No comments:

Post a Comment