I'm searching for a way to password protect my android application on launch, i.e. when launching/resuming an activity belonging to my apk-package a password dialog will be shown.
I've tried some approaches to this (extending application class and so on) but none seems to work. Either they don't run on the UI thread or the dialog isn't shown on every launch/resume occasion.
// m
So this is the solution I stuck with. In my Application class i store a long variable with the system time when an activity was last paused.
import android.app.Application;
public class MyApplication extends Application {
public long mLastPause;
@Override
public void onCreate() {
super.onCreate();
mLastPause = 0;
Log.w("Application","Launch");
}
}
In every onPause-method I update this value to the current time.
@Override
public void onPause() {
super.onPause();
((MyApplication)this.getApplication()).mLastPause = System.currentTimeMillis();
}
And in every onResume I compare it to the current time. If a certain amount of time (currently 5 seconds) has passed my password prompt is shown.
@Override
public void onResume() {
super.onResume();
MyApplication app = ((MyApplication)act.getApplication());
if (System.currentTimeMillis() - app.mLastPause > 5000) {
// If more than 5 seconds since last pause, prompt for password
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With