从MGWT(gwt-phonegap)应用程序中打开外部Android应用程序

时间:2013-01-16 13:57:25

标签: android cordova android-intent mgwt

我正在尝试通过点击按钮(例如)来了解如何在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应用程序相同的功能。

我怎么做到这一点? 提前感谢您的建议。

1 个答案:

答案 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