我有一個問題的簡歷,如果有處理這種情況的體面的方式:密碼從背景
我想我的應用程序,以儘快啓動密碼活性,應用程序啓動了第一次或然後用戶恢復其(例如,用戶單擊主頁按鈕並將應用程序移到背景中,然後再次啓動它)。
我知道我可以使用特殊權限並授予對系統任務的訪問權限,但我不想這樣做。還有一些人會建議使用onPause,onResume和onStop - 製作一個布爾變量並將其狀態從true更改爲false。但是,只有當你有一個活動時,這纔有效 - 只要你從活動轉移到活動,你必須添加onActivityResult或處理布爾變量。
所以也許你可以建議更多的東西?
更新:
這是從我的應用程序主要活動示例代碼:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (getIntent().getAction() != null && getIntent().getAction().equals(Intent.ACTION_MAIN) && savedInstanceState == null) {
requestPinCode();
}
/* .. */
}
private void requestPinCode() {
boolean pinStart = false;
SharedPreferences appPrefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
pinStart = appPrefs.getBoolean("switch_pincode", false);
if (pinStart) {
Intent intent = new Intent(this, PinCodeActivity.class);
startActivity(intent);
}
}
如果pinStart是真實的 - 這意味着鎖被激活,用戶必須在應用程序開始輸入密碼。但是,如果您只是單擊主頁按鈕並再次啓動應用程序,則不會詢問密碼。如何處理這個?我想在用戶輸入應用程序時立即啓動密碼活動,但是當他在應用程序內導航時 - 無密碼。我也想在每個活動中都有這個,不僅在主體中。
您是否正在嘗試製作另一個僅適用於您的應用而不是整個手機的屏幕鎖? – VM4
你可以存儲布爾值優先 – Hardik
nope,我想只有我的應用程序屏幕鎖。它是應用程序的一部分,僅用於某些數據保護。 – tereru