我正在尝试通过点击按钮(例如)来了解如何在MGWT应用内部(使用PhoneGap封装到原生Android应用中)启动原生Android应用。
我已经关注了Open another application from your own (intent),使用此代码段效果很好:
Button openAppButton = (Button) findViewById(R.id.openApp);
openAppButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// THIS WORKS GREAT
Intent i = new Intent();
PackageManager manager = getPackageManager();
i = manager.getLaunchIntentForPackage("ch.android.test2");
i.addCategory(Intent.CATEGORY_LAUNCHER);
startActivity(i);
}
});
所以基本上如果我单击app1中的按钮,它会打开名为“ch.android.test2”的本机应用程序。
不同之处在于,这只是在其他原生Android应用中启动原生Android应用。我需要的是与MGWT制作的PhoneGap应用程序相同的功能。
我怎么做到这一点? 提前感谢您的建议。
答案 0 :(得分:2)
使用phonegap,您可以编写任何本机代码,因此您需要将您指出的代码移动到一个插件中,如Simon指出的那样,请参阅:http://docs.phonegap.com/en/2.3.0/guide_plugin-development_android_index.md.html#Developing%20a%20Plugin%20on%20Android
之后,您需要使用JSNI从GWT源代码调用您的插件。看看gwt-phonegap中的ChildBrowser实现:http://code.google.com/p/gwt-phonegap/source/browse/src/main/java/com/googlecode/gwtphonegap/client/plugins/childbrowser/ChildBrowserPhoneGapImpl.java