diff --git a/framework/src/org/apache/cordova/CordovaInterface.java b/framework/src/org/apache/cordova/CordovaInterface.java index 3b8468f3..ff906834 100755 --- a/framework/src/org/apache/cordova/CordovaInterface.java +++ b/framework/src/org/apache/cordova/CordovaInterface.java @@ -19,6 +19,7 @@ package org.apache.cordova; import android.app.Activity; +import android.content.Context; import android.content.Intent; import org.apache.cordova.CordovaPlugin; @@ -51,10 +52,18 @@ public interface CordovaInterface { /** * Get the Android activity. * + * If a custom engine lives outside of the Activity's lifecycle the return value may be null. + * * @return the Activity */ public abstract Activity getActivity(); - + + /** + * Get the Android context. + * + * @return the Context + */ + public Context getContext(); /** * Called when a message is sent to plugin. diff --git a/framework/src/org/apache/cordova/CordovaInterfaceImpl.java b/framework/src/org/apache/cordova/CordovaInterfaceImpl.java index 71dcb782..3c459025 100644 --- a/framework/src/org/apache/cordova/CordovaInterfaceImpl.java +++ b/framework/src/org/apache/cordova/CordovaInterfaceImpl.java @@ -20,6 +20,7 @@ package org.apache.cordova; import android.app.Activity; +import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; import android.os.Build; @@ -84,6 +85,11 @@ public class CordovaInterfaceImpl implements CordovaInterface { return activity; } + @Override + public Context getContext() { + return activity; + } + @Override public Object onMessage(String id, Object data) { if ("exit".equals(id)) {