温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

phonegap2.9.1中自定义插件实现分享

发布时间:2020-07-15 03:50:57 来源:网络 阅读:606 作者:ZW19911104 栏目:移动开发

我也刚开始自学phonegap 有不那个的地方 大虾们勿喷啊!

直接开始步骤:

1.首先创建一个Share.java文件直接上代码

import org.apache.cordova.api.CallbackContext;
import org.apache.cordova.api.CordovaPlugin;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.content.Intent;

public class Share extends CordovaPlugin {
   @Override
   public boolean execute(String action, JSONArray args,CallbackContext callbackContext) throws JSONException {
           if(action.equals("fenxiang")){
               JSONObject jo = args.getJSONObject(0);
               fenxiang(jo.getString("subject"), jo.getString("text"));          
               callbackContext.success();
               return true;
           }else{
               callbackContext.error("failed error");
               return false;
           }
   }

   private void fenxiang(String subject, String text) {
       Intent sendIntent = new Intent(Intent.ACTION_SEND);
       sendIntent.setType("text/plain");
       sendIntent.putExtra(Intent.EXTRA_SUBJECT, subject);
       sendIntent.putExtra(Intent.EXTRA_TEXT, text);
       sendIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
       this.cordova.startActivityForResult(this, sendIntent, 0);
   }
}

2.在config.xml中配置

<feature name="Share">
       <param name="android-package" value="org.apache.cordova.Share"/>        
</feature>


3.在cordova.js中添加定义

//Share.js 分享
define("cordova/plugin/share", function(require, exports, module) {
   var exec = require('cordova/exec');
   var modulemapper = require('cordova/modulemapper');

   var share = {
       fenxiang:function(content,success,fali) {
           exec(success, fali, "Share", "fenxiang", [content]);
       }
   };
   module.exports = share;
});

这个在cordova2.9.1中必须要
define("cordova/plugin/share/symbols", function(require, exports, module) {
   var modulemapper = require('cordova/modulemapper');
   modulemapper.clobbers('cordova/plugin/share', 'share');
});


4.写一个share.js文件

里面就写这个

function fenxiang(){
   //alert(share.fenxiang);
   share.fenxiang({subject:'分享',text:'I like my love'},
       function(){
           //alert('分享成功');
       },function(){
           //alert('分享失败');
       });
}


5.编写index.html 其中share.js放在js文件夹下 如果你是在www文件夹下

就这样写src=“share.js”

<!DOCTYPE html>
<html>
 <head>
   <title>Capture Audio</title>
   <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
   <script type="text/javascript" charset="utf-8" src="js/share.js"></script>
   </head>
   <body>
       <button  分享</button> <br>
   </body>
</html>

再来一个启动的demo

package vg.wrap.hybrid.ad.demo;

import org.apache.cordova.DroidGap;

import android.os.Bundle;

public class TestWebViewActivity extends DroidGap {
   @Override
   public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       super.loadUrl("file:///android_asset/www/index.html");
   }
}

记得在AndroidManifest.xml中配置权限哦!

现在运行一下吧!你会发现完成了!祝你学习愉快!





向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI