@SuppressLint("SetJavaScriptEnabled")
public class MainActivity extends CordovaActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.loadUrl("file:///android_asset/www/index.html");
WebSettings webSettings = super.appView.getSettings();
webSettings.setJavaScriptEnabled(true);
super.appView.addJavascriptInterface(new MyJavascriptInterface(), "android");
}
private class MyJavascriptInterface {
@JavascriptInterface
public void doHtml() {
new Handler().post(new Runnable() {
public void run() {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("file:///android_asset/www/test.html"));
startActivity(intent);
}
});
}
@JavascriptInterface
public void doKakao(final String subject, final String content) {
new Handler().post(new Runnable() {
public void run() {
Intent shareIntent = new Intent (android.content.Intent.ACTION_SEND);
shareIntent.setType("text/plain");
shareIntent.putExtra(Intent.EXTRA_SUBJECT, subject);
shareIntent.putExtra(Intent.EXTRA_TEXT, content);
shareIntent.setType("image/png");
shareIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file:///android_asset/www/img/tokki.png"));
shareIntent.setPackage("com.kakao.talk");
startActivity(Intent.createChooser(shareIntent, subject));
}
});
}
}
}
안녕하세요.
java 지식이 없는 상태에서 하이브리드 앱을 만들다 보니 막히는 데가 참 많습니다.
1. doHtml() 메서드는 asset 아래에 있는 test,html 파일을 불러오려는 것이고,
2. doKakao() 메서드는 안드로이드 공유기능을 이용해
asset 아래 tokki.png 라는 이미지 파일을 텍스트와 함께 카카오톡으로 전달하려는 것입니다.
결론은 둘 다 파일을 읽어들이지 못한다는 것인데요, 어떻게 해야할런지요?
인테넷에서 여러가지로 찾아봤는데 java 지식이 없다보니 응용할 엄두가 안나네요.
친절하게 답변해주신 분 하시는 일마다 반드시 보이지 않는 도움을 받아 잘 풀릴겁니다^^