Это пользовательский плагин для аппликации. это работает, когда установлено приложение это directlly запуск, если не чем открытая PlayStore
Ваш index.js
на кнопку мыши, чтобы запустить код приложения
AppChecker является сервис. appcheker - действие. com.outfit7.mytalkingtomfree
это название пакета, которое вы хотите запустить.
$(".appopenclass").on("click",function() {
cordova.exec(function(winParam) {},
function(error) {
utils.setAlertMsg("Plugin failed " + error);
},
"AppChecker",
"appchecker",
["com.outfit7.mytalkingtomfree"]);
});
project-> res-> xml-> config.xml
<feature name="AppChecker">
<param name="android-package" value="com.appview.openapp.AppChecker" />
</feature>
Создать один пакет, как имя com.appview.openapp
и создать новое имя класса как AppChecker.java
AppChecker.Java
import org.apache.cordova.CallbackContext;
import org.apache.cordova.CordovaPlugin;
import org.json.JSONArray;
import org.json.JSONException;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.util.Log;
public class AppChecker extends CordovaPlugin {
@Override
public boolean execute(String action, JSONArray args,
CallbackContext callbackContext) throws JSONException {
if (action.equals("appchecker")) {
String message = args.getString(0);
this.appchecker(message, callbackContext);
return true;
}
return false;
}
private void appchecker(final String message, CallbackContext callbackContext) {
if (message != null && message.length() > 0) {
// callbackContext.success(message);
Log.i("test", "" + message);
// appInstalledOrNot(message);
cordova.getActivity().runOnUiThread(new Runnable() {
public void run() {
boolean installed = appInstalledOrNot(message);
if (installed) {
// This intent will help you to launch if the package is already
// installed
Intent LaunchIntent = cordova.getActivity().getPackageManager()
.getLaunchIntentForPackage(message);
cordova.getActivity().startActivity(LaunchIntent);
System.out.println("App already installed on your phone");
} else {
System.out.println("App is not installed on your phone");
try {
Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + message));
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
cordova.getActivity().startActivity(i);
} catch (android.content.ActivityNotFoundException anfe) {
}
}
}
});
} else {
callbackContext.error("Expected one non-empty string argument.");
}
}
private boolean appInstalledOrNot(String uri) {
PackageManager pm = cordova.getActivity().getPackageManager();
boolean app_installed = false;
try {
pm.getPackageInfo(uri, PackageManager.GET_ACTIVITIES);
app_installed = true;
} catch (PackageManager.NameNotFoundException e) {
app_installed = false;
}
return app_installed;
}
}
Вы используете сборку телефонных разговоров или CLI? – QuickFix
Я использую phonegap build – Sdog