[英]Password protect launch of android application
我正在尋找一種在啟動時密碼保護我的Android應用程序的方法,即當啟動/恢復屬於我的apk包的活動時,將顯示密碼對話框。
我已經嘗試了一些方法(擴展應用程序類等),但似乎沒有工作。 要么它們不在UI線程上運行,要么在每次啟動/恢復時都不顯示對話框。
// m
所以這就是我堅持的解決方案。 在我的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");
}
}
在每個onPause方法中,我將此值更新為當前時間。
@Override
public void onPause() {
super.onPause();
((MyApplication)this.getApplication()).mLastPause = System.currentTimeMillis();
}
在每個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
}
}
子類應用程序,並在那里設置一個變量,關於下次是否在您的應用程序中發生某些事情,您應該提示對話框。
在您的Activity,Service等中...使用您收到的Context,如果var設置為顯示對話框,請從您的Activity代碼(意味着UI Thread)顯示您的對話框。 你可能會把它放在你的onResume代碼中。
在onPause中,設置變量以在下次顯示它。 在onResume中,將其設置為false。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.