美文网首页
跨平台的跳转Activity android插件调用原生

跨平台的跳转Activity android插件调用原生

作者: 不规则先生 | 来源:发表于2016-01-19 16:07 被阅读732次

    首先继承CordovaPlugin

    重写execute方法    execute返回值为true时  此插件可用;返回为false时 此插件失效

    在插件类当中获取  this 跳转

    Intent intent = new Intent(cordova.getActivity(), DemoActivity.class);

    cordova.startActivityForResult((CordovaPlugin) this,intent, 200);

    如果使用

    cordova.getActivity().startActivityForResult(intent,200);

    被调用的Activity 在  setResult之后;

    并不会返回到当前的插件中  它将返回到的webView的CordovaActivity当中 ,

    Plugin_intent 类的  onActivityResult将收不到消息    ;

    我查看源码后得知    cordova这个是CordovaInterface类型的  已由CordovaPlugin实现

    在CordovaInterface当中找到了

    /**

    * Launch an activity for which you would like a result when it finished. When this activity exits,

    * your onActivityResult() method will be called.

    *

    * @param command    The command object

    * @param intent      The intent to start

    * @param requestCode  The request code that is passed to callback to identify the activity

    */

    abstract public void startActivityForResult(CordovaPlugin command, Intent intent, int requestCode);

    利用Android通过intent传值:http://www.jianshu.com/p/8a45e87f2aca

    综合代码得:

    CDVImageProcessing.java

    public class CDVImageProcessing extends CordovaPlugin{

    privateCallbackContextcCtx;

    public booleanexecute(String action,CordovaArgs args,

    CallbackContext callbackContext)throwsJSONException {

    cCtx= callbackContext;

    if(action.compareTo("cut") ==0) {//图片剪裁

    String urlSrc;

    JSONObject jobject_asp = args.getJSONObject(0);

    if(jobject_asp.getString("sourceType").equals("URL")){//获取要剪裁的图片类型

    urlSrc = jobject_asp.getString("sourceImageSrc");

    }else{

    urlSrc ="";

    }

    Intent intent =newIntent(cordova.getActivity(),cutimgactivity.class);

    intent.putExtra("imgUrl",urlSrc);

    cordova.startActivityForResult((CordovaPlugin)this,intent,200);

    }

    return true;

    }

    }

    cutimgactivity.java

    protected voidonCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_cutimgactivity);

    imageView= (ImageView) findViewById(R.id.imgView);

    Intent intent=getIntent();  //获得intent

    。。。

    相关文章

      网友评论

          本文标题:跨平台的跳转Activity android插件调用原生

          本文链接:https://www.haomeiwen.com/subject/oiokkttx.html