2013-01-21 3 views
3

제공되는 기능을 구현하고 싶습니다. this app특정 앱을 실행하려면 비밀번호가 필요합니까?

사용자가 특정 앱을 실행하려면 비밀번호를 입력해야합니다. 어떤 방향으로 진행해야할지 모르겠습니다.

+0

달성하려는 목표는 무엇입니까? – thepoosh

+0

@thepoosh 내 프로젝트의 보안 앱과 같은 것. 사용자는 설치된 앱 목록에서 앱을 선택할 수 있습니다. 누군가 앱을 실행하려고 할 때마다 비밀번호를 입력해야합니다. – Deepak

답변

0

재고 장치에는 불가능합니다. 특정 앱을 실행하려면 비밀번호가 필요한 맞춤 발사기를 작성하는 것이 가장 좋습니다. 사용자는 항상 실행기를 주식용으로 변경할 수 있으므로 보안 기능으로는별로 유용하지 않습니다. 귀하의 (어린) 아이들이 Gmail 등을 액세스하는 것을 중지하려면 작동 할 수 있습니다. 특정 해킹이 가능해 보이지만 신뢰할 수있는 것은 없습니다.

+0

당신은 발사기를 바꾸는 것에 관한 어떤 문서를 알고 있습니까, 나는 그 발사를 기꺼이 줄 것입니다. 나는 그것을 스스로 찾게 될 것이다. – Deepak

+0

기본 실행기는 오픈 소스이므로 AOSP 코드를 가져 와서 시작하십시오. –

+0

팁 주셔서 감사합니다, 내가 살펴 보겠습니다. – Deepak

1

백그라운드에서 실행중인 서비스가 있어야한다고 생각합니다. 새로운 활동이 시작되면 비밀번호로 보호되어 있는지 확인한 다음 보안 화면을 표시합니다.

+0

예 뭔가 새로운 활동을 모니터링하지만, 생각하는 별도의 스레드에서 새로운 활동이 시작됩니다, 그래서 내 대화 상자가됩니다, 그래서 우리는 진행을 중지 할 수 있습니다, 그렇지 않으면 우리는 암호를 묻는 화면. – Deepak

0

This solution 당신을 도울 수 있습니다.

은 압축을 풉니 다

스토어 활동이 지난 일시 중지 된 시스템 시간이 긴 변수입니다. 모든 onPause-방법에서

import android.app.Application; 
    public class MyApplication extends Application { 
     public long mLastPause; 

     @Override 
     public void onCreate() { 
      super.onCreate(); 
      mLastPause = 0; 
      Log.w("Application","Launch"); 
     } 
    } 

나는 현재 시간이 값을 업데이트합니다.

@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 
    } 
} 
+1

저는 이것이 그가 개발하고있는 어플리케이션에만 적용될 것이라고 생각합니다. 그러나 그는 장치에 설치된 모든 앱에이 기능을 사용하길 원합니다. – Rahil2952

관련 문제