I am new to PhoneGap and I am able to implement the basic app with PhoneGap, now to enhance it further, I want to connect PhoneGap with Android Activities, basically what I plan is to call startActivity() method using a javascript function.
I tried Communication between Android Java and Phonegap Javascript?
but I failed to call an activity, causing force close error. Do help me out, awaiting a reply!
Any Java Native code call be called without using any plugin as following.
Follow The following Steps.
Replace the following code with your existing DroidGap Activity.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.init(); // Calling this is necessary to make this work
appView.addJavascriptInterface(this, "MainActivity");
/* "this" points the to the object of the current activity. "MainActivity" is used to refer "this" object in JavaScript as in Step 3. */
super.loadUrl("file:///android_asset/www/index.html");
}
Add the custom function in current (this) activity as following.
public void customFunctionCalled() {
Log.e("Custom Function Called", "Custom Function Called");
}
Now call this function from your HTML/JavaScript code as following.
<script type="text/javascript">
function callNewActivity() {
window.MainActivity.customFunctionCalled();
}
</script>
This will call customFunctionCalled()
in MainActivity
.
Tested Environment Eclipse - 3.7.2 Android 2.2 Emulator PhoneGap - 2.0.0
Please provide your comments here to improve blogs post. http://phonegapexplorers.blogspot.in/2012/08/call-native-java-code-phonegap-android.html
Its hard without knowing more about what you're trying to do exactly, but going down the road of writing a plugin is probably the way to go. Check out;
http://smus.com/android-phonegap-plugins
This plugin might work for you as is, or give you good pointers in how to do this yourself.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With