2011-03-08 9 views
2

내 응용 프로그램에서 브라우저의 웹 페이지를 여는 데 Intent를 사용합니다. 기본 동작은 뒤로 버튼이 브라우저에서 이전 페이지로 연결되고 내 응용 프로그램으로 돌아 가지 않는 것입니다. 뒤로 버튼이 사용자를 내 앱으로 되돌리도록 강제하는 방법이 있습니까?브라우저의 뒤로 버튼

답변

5

의도를 사용하여 다른 앱을 열면 뒤로 버튼을 처리하는 것은 해당 앱에 달려 있습니다. 방금 활동으로 웹 페이지를 표시 할 경우, 당신은 WebView를 호스팅 자신의 활동을 실행하고 웹 페이지를 엽니 다 사용할 수 있습니다

webview.loadUrl("http://lolcats.com/"); 

을 그리고 당신의 활동에 당신이 뒤로 버튼을 대체 할 수 있습니다 당신이해야 할 일을하십시오 :

@Override 
public void onBackPressed() 
{ 
    // put code here to do things 
} 
+0

감사합니다. 내가 너를 올바르게 이해한다면 무언가를 무효로 할 필요가 없다. WebView는 단지보기이며 뒤로 버튼은 예상대로 작동합니다. 이전 활동이 아닌 이전 페이지로 이동합니다. 내가 맞습니까? – damluar

+0

네 말이 맞아. 나는 당신이 뭔가 다른 것을 할 필요가 있을지도 모른다고 생각하고 있었지만, 필요한 것은 웹 페이지를 보여주고 뒤로 버튼의 이전 활동으로 돌아가는 것이라면, 오버라이드 할 필요가 없습니다. –

+0

다른 질문에 대한 답변을 알고 계실지 모르겠다. 브라우저에는 적절한 스키마가있는 URI를 충족하는 경우 다른 활동을 시작할 수있는 기능이 있습니다. WebView로 가능합니까? – damluar

1

어떻게 브라우저를 부르시겠습니까? 당신이 그것을 좋아한다면 :

Uri url = Uri.parse("http://mysite.com/"); 
Intent launchBrowser = new Intent(Intent.ACTION_VIEW, url); 
startActivity(launchBrowser); 

그러면 그것은 예상대로 작동해야합니다.

+0

예, 저는 같은 방식으로하고 있습니다. 그러나 나는 그 브라우저가 백 버튼을 재 구현하고 그것을 다른 방법으로 읽는다. 설명 할 수 있니? – damluar