我正在寻找一种在启动时密码保护我的Android应用程序的方法,即当启动/恢复属于我的apk包的活动时,将显示密码对话框.
我已经尝试了一些方法(扩展应用程序类等),但似乎没有工作.要么它们不在UI线程上运行,要么在每次启动/恢复时都不显示对话框.
// m
m__*_*m__ 13
所以这就是我坚持的解决方案.在我的Application类中,我存储一个long变量,其中包含上次暂停活动时的系统时间.
import android.app.Application;
public class MyApplication extends Application {
public long mLastPause;
@Override
public void onCreate() {
super.onCreate();
mLastPause = 0;
Log.w("Application","Launch");
}
}
Run Code Online (Sandbox Code Playgroud)
在每个onPause方法中,我将此值更新为当前时间.
@Override
public void onPause() {
super.onPause();
((MyApplication)this.getApplication()).mLastPause = System.currentTimeMillis();
}
Run Code Online (Sandbox Code Playgroud)
在每个onResume中,我将它与当前时间进行比较.如果已经过了一定的时间(当前为5秒),则会显示我的密码提示.
@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
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7038 次 |
| 最近记录: |