溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

phonegap2.9.1中自定義插件實現(xiàn)分享

發(fā)布時間:2020-07-15 03:50:57 來源:網(wǎng)絡 閱讀:619 作者:ZW19911104 欄目:移動開發(fā)

我也剛開始自學phonegap 有不那個的地方 大蝦們勿噴??!

直接開始步驟:

1.首先創(chuàng)建一個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中配置權(quán)限哦!

現(xiàn)在運行一下吧!你會發(fā)現(xiàn)完成了!祝你學習愉快!





向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI