2013-07-25 4 views
0

간단한 암호 관리 응용 프로그램을 만들고 있습니다. 응용 프로그램에 저장된 다른 모든 암호에 액세스하려면 '마스터 암호'를 기억해야합니다.뒤로 버튼을 사용할 때 응용 프로그램에 액세스하지 못하도록 사용자를 막으십시오.

그러나 내 문제는 뒤로 버튼 (및 멀티 태스킹)입니다. 마치 사용자 (또는 더 중요하게는 다른 사용자)가이를 사용하는 것처럼 처음 검증 페이지를 지나갈 필요없이 앱에 액세스 할 수 있습니다.

이 문제를 방지 할 방법이 있습니까?

아니면 시작 버튼을 누르면 응용 프로그램을 죽이는 방법이 있습니까? (뒤로 버튼을 사용하여 앱을 종료 할 때와 같은 효과를 얻으려면). Application_Deactivated 이벤트에서

답변

0

.

+0

내가 애플 리케이션을 모두 7.1 - .8과 8 모두 제작하고 있기 때문에 operA 양쪽 모두에 대해 작동하는 것이있다. – Newbie

+0

7과 8 모두에 내 앱을 마스킹하기 때문에 두 운영 체제 모두에서 작동하는 것이 있습니까? – Newbie

+0

두 개의 프로젝트가 있습니까? 하나는 휴대 전화 7을 타겟팅하고 다른 하나는 휴대 전화 8을 타겟팅합니까? 전화 7 응용 프로그램 (전화 8에서 작동) 만 있으면 괜찮을 것입니다. 동일한 API가 작동합니다. –

-1

단지 예외를 발생

private void Application_Deactivated(object sender, DeactivatedEventArgs e) 
{ 
    throw new Exception("System Exit"); 
} 
+2

종료 예외를 던지는 것은 좋은 생각이 아니므로 Microsoft에서 권장하지 않습니다. http://msdn.microsoft.com/en-us/library/windowsphone/develop/dn148258.aspx –

2

사용 App.xaml.cs를의 Application_Activated 이벤트는이를 감지하고 그에 따라 예를 들어, 당신의 논리를 적용 다시 인증을 요청하십시오.
Windows Phone 7 용 응용 프로그램을 닫을 API가 없습니다. Windows Phone 8의 경우 Application.Current.Terminate();

new Microsoft.Xna.Framework.Game().Exit(); 

이것은 Microsoft.Xna.Framework.Game 어셈블리에서 발견된다 : 응용 프로그램을 사용하면 다음 줄에 응용 프로그램을 종료 할 수 있습니다 (전화 8에서 실행) 윈도우 폰 7을 대상으로하는 경우

+0

탐색 핸들러를 추가하려고하면 Application_Activated로 보내 주시면 안됩니다. 이 다른 해결 방법이 있습니까? – Newbie

0

내가 가장 좋은 해결책이 있다고 생각합니다. app.xaml.cs에서 전역 변수 didResume을 만들려고합니다. Appication_Activated 이벤트에서 didResume을 true로 설정합니다. 이제는 사용자 인증이 필요한 페이지를로드 할 때마다 변수를 확인하여 사용자가 다시 시작했는지 확인하고 수행 한 경우 처리 할 수 ​​있습니다. 나는 정말하지 않기 때문에이 작업을해야한다고 생각

protected override void OnNavigatedTo(NavigationEventArgs e) 
    { 
     base.OnNavigatedTo(e); 
     if(App.didResume) 
     { 
      NavigationService.Navigate(new Uri("/MainPage.xaml", UriKind.Relative)); 
     } 
    } 

을 :

public static bool didResume = false; 
    private void Application_Activated(object sender, ActivatedEventArgs e) 
    { 
     didResume = true; 
    } 

지금 당신은 당신이 보호하려는 페이지에이 방법을 추가 : 여기에 App.xaml.cs를위한 코드는 Windows Phone 7에서 작동하지 않는 API를 호출하십시오. 간단하고 안전하며 견고한 사용자 경험을 제공 할 것입니다. 또한 페이지가 탐색 될 때마다 유효성을 검사하므로 사용자가 어떤 방법으로 우회하려고 시도하는 것이 더 어려울 것이라고 생각합니다.