Phonegap外掛編寫
轉自:http://blog.csdn.net/avenleft/article/details/7383294
目前PhoneGap雖然提供了很多的API,但是我們也很容易發現,他有很多地方不能滿足我們的需求,比如發簡訊。我也將介紹如何開發一個針對PhoneGap發簡訊的Plugin。(Android 版本)。
1、建立一個Android工程,建立之後的目錄結構如圖:2、把PhoneGap的android版jar包、javascript和xml資料夾加入工程。(參照上一篇中的做法)目錄結構:
3、新增一個類MessagePlugin
這個類就是負責傳送簡訊功能的具體類,可以呼叫傳送簡訊的android API,當然如果是其他功能,則呼叫相應的API,但是當使用這個API時記得申請許可權。
具體程式碼:
- package com.phonegap.kiddyu.plugin;
- import org.json.JSONArray;
- import org.json.JSONException;
- import org.json.JSONObject;
- import android.telephony.SmsManager;
- import com.phonegap.api.Plugin;
- import com.phonegap.api.PluginResult;
- public class MessagePlugin extends Plugin {
- private static final String SEND = "send";
- @Override
- public PluginResult execute(String action, JSONArray data, String callbackId) {
- PluginResult result;
- if (SEND.equals(action)) {
- try {
- JSONObject jsonObj = new JSONObject();
- String target = data.getString(0);
- String content = data.getString(1);
- SmsManager sms = SmsManager.getDefault();
- sms.sendTextMessage(target, null, content, null, null);
- jsonObj.put("target", target);
- jsonObj.put("content", content);
- result = new PluginResult(PluginResult.Status.OK, jsonObj);
- } catch (JSONException ex) {
- result = new PluginResult(PluginResult.Status.JSON_EXCEPTION);
- }catch(IllegalArgumentException ex){
- result = new PluginResult(PluginResult.Status.ERROR);
- }
- } else {
- result = new PluginResult(PluginResult.Status.INVALID_ACTION);
- }
- return result;
- }
- }
4、為phonegap增加一個javascript的API
在工程目錄www/js下面增加一個javascript檔案:phonegapPlugin.js,然後加入程式碼:
- var Message = function(){};
- Message.prototype = {
- send: function(success, error, target, content){
- PhoneGap.exec(success, error, "MessagePlugin", "send", [target, content]);
- }
- };
- PhoneGap.addConstructor(function() {
- PhoneGap.addPlugin("message", new Message());
- });
- var Message = function(){};
- Message.prototype = {
- send: function(success, error, target, content){
- PhoneGap.exec(success, error, "MessagePlugin", "send", [target, content]);
- }
- };
- PhoneGap.addConstructor(function() {
- PhoneGap.addPlugin("message", new Message());
- });
關鍵的方法是PhoneGap.exec(success, error, "MessagePlugin", "send", [target, content]);
相關文章
- Phonegap外掛編寫 Java物件導向方法Java物件
- 給Ionic寫一個cordova(PhoneGap)外掛
- 編寫node 外掛
- 編寫jq外掛
- egg外掛編寫
- eggjs外掛編寫JS
- 如何編寫 ProtoBuf 外掛 (一) ?
- 如何編寫 ProtoBuf 外掛 (二) ?
- 如何編寫 ProtoBuf 外掛 (三) ?
- vue外掛編寫小記Vue
- 編寫Ansj的Solr外掛Solr
- Go - 如何編寫 ProtoBuf 外掛 (三) ?Go
- Go - 如何編寫 ProtoBuf 外掛(二)?Go
- Go - 如何編寫 ProtoBuf 外掛 (一) ?Go
- 編寫自己的Babel外掛(一)Babel
- Vue 外掛編寫與實戰Vue
- 如何編寫一個Jquery外掛jQuery
- 如何編寫Node.js外掛Node.js
- JavaNio程式設計實現phonegap外掛websocketJava程式設計Web
- flutter外掛編寫及釋出流程Flutter
- Flutter 外掛編寫必知必會Flutter
- 如何使用Python編寫vim外掛Python
- phpstorm編寫程式碼特效外掛PHPORM特效
- 編寫最基本的Gradle外掛Gradle
- 編寫jquery常用外掛的基本格式jQuery
- pual_bot 天氣外掛編寫
- 自己動手編寫一個Mybatis外掛:Mybatis脫敏外掛MyBatis
- Unity3D編輯器外掛編寫教程Unity3D
- 如何從零編寫一個vite外掛 建立 vite 外掛通用模板Vite
- 蜻蜓安全編寫外掛模組 webcrack 實踐Web
- APISIX外掛如何編寫單元測試API
- 如何編寫一個 Pulsar Broker Interceptor 外掛
- 編寫一個簡單的babel外掛Babel
- 教你如何用Swift編寫Xcode外掛SwiftXCode
- 編寫基於jQuery的外掛的方法jQuery
- 從零開始編寫一個babel外掛Babel
- 從AST編譯解析談到寫babel外掛AST編譯Babel
- 看完你也想編寫自己的 react 外掛React