upload new version

This commit is contained in:
Лампуша
2014-03-23 14:53:52 +04:00
parent 732cf21220
commit e369dbe929
3 changed files with 90 additions and 31 deletions

View File

@@ -25,6 +25,8 @@ import org.json.JSONException;
import android.content.Context;
import android.content.Intent;
import android.content.ComponentName;
import android.content.pm.PackageManager;
/**
* This class provides access to vibration on the device.
@@ -34,8 +36,7 @@ public class startApp extends CordovaPlugin {
/**
* Constructor.
*/
public startApp() {
}
public startApp() { }
/**
* Executes the request and returns PluginResult.
@@ -46,37 +47,57 @@ public class startApp extends CordovaPlugin {
* @return True when the action was valid, false otherwise.
*/
public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException {
if (action.equals("startapp")) {
this.startApp(args.getString(0));
if (action.equals("start")) {
this.start(args, callbackContext);
}
else {
return false;
}
// Only alert and confirm are async.
callbackContext.success();
return true;
else if(action.equals("check")) {
this.check(
args.getString(0),
callbackContext,
this.cordova.getActivity().getApplicationContext()
);
}
return true;
}
//--------------------------------------------------------------------------
// LOCAL METHODS
//--------------------------------------------------------------------------
/**
* startApp
*/
public void startApp(String component) {
Intent LaunchIntent = this.cordova.getActivity().getPackageManager().getLaunchIntentForPackage(component);
/**
* If you want to pass parameters:
*/
/**
ComponentName comp = new ComponentName("com.component.name", "com.component.name.MainActivity");
LaunchIntent.setComponent(comp);
LaunchIntent.putExtra("product_id", 102);
*/
this.cordova.getActivity().startActivity(LaunchIntent);
public void start(JSONArray args, CallbackContext callback) {
// args.getString(0) - com name
// args.getString(1) - activity
// args.getString(2) - key
// args.getString(3) - value
try {
Intent LaunchIntent = this.cordova.getActivity().getPackageManager().getLaunchIntentForPackage(args.getString(0));
if(args.length() > 3) {
ComponentName comp = new ComponentName(args.getString(0), args.getString(1));
LaunchIntent.setComponent(comp);
LaunchIntent.putExtra(args.getString(2), args.getString(3));
}
this.cordova.getActivity().startActivity(LaunchIntent);
callback.success();
} catch (Exception e) {
callback.error(e.toString());
}
}
/**
* checkApp
*/
public void check(String component, CallbackContext callback, Context context) {
PackageManager pm = context.getPackageManager();
try {
pm.getPackageInfo(component, PackageManager.GET_ACTIVITIES);
callback.success();
} catch (Exception e) {
callback.error(e.toString());
}
}
}