如何在Phonegap中获取设备电话号码?

时间:2015-10-08 15:07:19

标签: cordova phonegap-plugins phonegap-pushplugin

我想在phonegap应用程序中获取设备电话号码。我该怎么办? 我使用“cordova / plugin / telephonenumber”,但我不能。 在开发应用程序使用eclipse或使用dreamveaver等编辑器时,哪个对我更有用?

使用dreamveawer编辑器时可以使用插件吗?

...谢谢

1 个答案:

答案 0 :(得分:0)

您无法在iOS中获取设备电话号码(执行此操作的API已针对iOS 6及更高版本弃用)。对于Android,您可以在插件中使用API​​(check out TelephonyManager)。

看看plugin development guide如何构建插件,但Android所需的Java代码看起来像这样:

package com.mycompany.devicenumber;

import org.apache.cordova.CallbackContext;
import org.apache.cordova.CordovaPlugin; 
import org.json.JSONArray;

import android.content.Context;
import android.telephony.TelephonyManager;

public class DeviceNumber extends CordovaPlugin {
    @Override
    public boolean execute(String action, JSONArray args, CallbackContext callbackContext) {
        if (action.equals("getDeviceNumber")) {
            getDeviceNumber(callbackContext);
            return true;
        }

        // Method not found. 
        return false;
    }

    private void getDeviceNumber(CallbackContext callbackContext) {
        // Get the device number
        TelephonyManager telephonyManager = (TelephonyManager)cordova.getActivity().getSystemService(Context.TELEPHONY_SERVICE);
        String result = telephonyManager.getLine1Number();
        if (result != null) {
            callbackContext.success(result);
        } else {
            callbackContext.error("Failed to get phone number from device.");
        }
    }
}

关于编辑器,使用您熟悉的内容来编辑Javascript,HTML,CSS,JSON,XML和Java / Objective C文件。我个人认为Sublime Text完全符合我的需求。