mirror of
https://github.com/lampaa/com.lampa.startapp.git
synced 2026-02-15 00:07:54 +08:00
upload new version
This commit is contained in:
@@ -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());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user