簡體   English   中英

密碼保護Android應用程序的啟動

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM