Skip to content Skip to sidebar Skip to footer

How To Use Onwindowfocuschanged() Method?

I am confused in how to trigger an event when the activity is changed. One thing that I know is using onWindowFocusChanged() method but I don't know how to use it. Please help in o

Solution 1:

The following method gets called when window's focus changes. For instance, if the window gains/losses focus, it will be triggered. In case, the window gains focus, hasFocus is true and false otherwise.

 public void onWindowFocusChanged(boolean hasFocus) {         
     super.onWindowFocusChanged(hasFocus);
     if(hasFocus) 
         Toast.makeText(context, text, duration).show();
 }

Solution 2:

publicclassMainActivityextendsAppCompatActivity {

    @OverrideprotectedvoidonCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    @OverridepublicvoidonWindowFocusChanged(boolean hasFocus) {
        if(!hasFocus) {
            //do anything you want here
            Toast.makeText(MainActivity.this,"Activity changed",Toast.LENGTH_SHORT).show();
        }
    }

}

This might help...

Solution 3:

Called when the current Window of the activity gains or loses focus. This is the best indicator of whether this activity is visible to the user. The default implementation clears the key tracking state, so should always be called.

@OverridepublicvoidonWindowFocusChanged(boolean hasFocas) {
    super.onWindowFocusChanged(hasFocas);
    //your code here
}

hasFocus boolean: Whether the window of this activity has focus.

Solution 4:

Android 10 brought restrictions on apps accessing the clipboard. Now, only the app that currently has focus can access the clipboard.

Previously, you might be accessing this data in onResume, but on Android 10 this doesn’t work. Instead, you can wait until the view is laid out using onWindowFocusChangedcallback.

Post a Comment for "How To Use Onwindowfocuschanged() Method?"