마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

javascript 명령이 안드로이드 4.1까지는 작동이 되고 4.2부터는 안되는데..

+1 추천
public class MainActivity extends CordovaActivity {

	@Override
	 public void onCreate(Bundle savedInstanceState) {
		  super.onCreate(savedInstanceState);
		  super.loadUrl("file:///android_asset/www/indexhtml");
		  super.appView.getSettings().setJavaScriptEnabled(true);
		  super.appView.addJavascriptInterface(new MyWebAddress(), "android");
	 }
 
		 
	 private class MyWebAddress {
		
		 @SuppressWarnings("unused")		 
		 public void playStore(final String myapp) {
				Intent intent = new Intent(Intent.ACTION_VIEW);
				intent.setData(Uri.parse(myapp));
				startActivity(intent);
			}

		}
} 		 				

안녕하세요.

폰갭을 이용해 하이브리드 앱을 만들고 있습니다. 

 

index.html 파일에서

window.android.playStore('market://details?id=com.My.App.myapp1');

처럼 웹주소를 보내면

 

MainActivity.java 에서 받아서

Play store 에 있는 해당 어플로 접속시켜주는 구문인데요.

 

안드로이드 4.1 이하까지는 잘 작동이 되는데

안드로이드 4.2 부터는 작동이 안되네요.

삼성 갤럭시 모델에서만 테스트하였습니다.

 

어떻게 해결해주어야  할런지요?

 

we3355 (210 포인트) 님이 2014년 2월 25일 질문

1개의 답변

+1 추천

보안상의 이유로 자바스크립트 인터페이스 메소드 (위의 예에서 playStore)에 

@JavascriptInterface 어노테이션을 명시적으로 추가해주어야 합니다.
 
b22n (22,940 포인트) 님이 2014년 2월 27일 답변
아, 그렇군요. 감사합니다.
해결했습니다.
...