会员登录 - 用户注册 - 设为首页 - 加入收藏 - 网站地图 57自学网———旗下安卓自学网站专注Android系统开发教程!
当前位置:主页 > 设备功能 > 设备信息 > 正文

AIR Native Extension的使用--AIR程序中获取手机SIM卡信息01

时间:2016-02-17 14:20 来源:网络整理 作者:安卓自学网 阅读:
首先1.我们要在Android项目中写好获取SIM卡信息的代码,

\

四个类的代码如下:

AS3COntext.java

package com.pei.air; import java.util.HashMap; import java.util.Map; import com.adobe.fre.FREContext; import com.adobe.fre.FREFunction; /** * class name:AS3Context<BR> * class description:<BR> * PS: <BR> * Date:2012-3-13<BR> * * @version 1.00 * @author CODYY)peijiangping */ public class AS3Context extends FREContext { @Override public void dispose() { } @Override public Map<String, FREFunction> getFunctions() { // 暴露air里能调用的函数名,getPhoneNum在AIR中可以使用,对应的类是TestAirNativeActivity HashMap<String, FREFunction> hashmap = new HashMap<String, FREFunction>(); hashmap.put("getPhoneNum", new TestAirNativeActivity()); return hashmap; } }
AS3Extension.java
package com.pei.air; import com.adobe.fre.FREContext; import com.adobe.fre.FREExtension; /** * class name:AS3Extension<BR> * class description:接口类和AIR程序对接<BR> * PS: <BR> * Date:2012-3-15<BR> * * @version 1.00 * @author CODYY)peijiangping */ public class AS3Extension implements FREExtension { @Override public FREContext createContext(String arg0) { return new AS3Context(); } @Override public void dispose() { } @Override public void initialize() { } }
SIMCardInfo.java
package com.pei.air; import android.content.Context; import android.telephony.TelephonyManager; /** * class name:SIMCardInfo<BR> * class description:读取Sim卡信息<BR> * PS: 必须在加入各种权限 <BR> * Date:2012-3-12<BR> * * @version 1.00 * @author CODYY)peijiangping */ public class SIMCardInfo { /** * TelephonyManager提供设备上获取通讯服务信息的入口。 应用程序可以使用这个类方法确定的电信服务商和国家 以及某些类型的用户访问信息。 * 应用程序也可以注册一个监听器到电话收状态的变化。不需要直接实例化这个类 * 使用Context.getSystemService(Context.TELEPHONY_SERVICE)来获取这个类的实例。 */ private TelephonyManager telephonyManager; /** * 国际移动用户识别码 */ private String IMSI; public SIMCardInfo(Context context) { telephonyManager = (TelephonyManager) context .getSystemService(Context.TELEPHONY_SERVICE); } /** * Role:获取当前设置的电话号码 <BR> * Date:2012-3-12 <BR> * * @author CODYY)peijiangping */ public String getNativePhoneNumber() { String NativePhoneNumber = null; NativePhoneNumber = telephonyManager.getLine1Number(); return NativePhoneNumber; } /** * Role:Telecom service providers获取手机服务商信息 <BR> * 需要加入权限<uses-permission * android:name="android.permission.READ_PHONE_STATE"/> <BR> * Date:2012-3-12 <BR> * * @author CODYY)peijiangping */ public String getProvidersName() { String ProvidersName = null; // 返回唯一的用户ID;就是这张卡的编号神马的 IMSI = telephonyManager.getSubscriberId(); // IMSI号前面3位460是国家,紧接着后面2位00 02是中国移动,01是中国联通,03是中国电信。 System.out.println(IMSI); if (IMSI.startsWith("46000") || IMSI.startsWith("46002")) { ProvidersName = "中国移动"; } else if (IMSI.startsWith("46001")) { ProvidersName = "中国联通"; } else if (IMSI.startsWith("46003")) { ProvidersName = "中国电信"; } return ProvidersName; } }
AS3Function.java
package com.pei.air; import com.adobe.fre.FREContext; import com.adobe.fre.FREFunction; import com.adobe.fre.FREObject; import android.content.Context; /** * class name:AS3Function<BR> * class description:在这里的call方法里面写调用java和android接口的代码<BR> * PS: <BR> * Date:2012-3-15<BR> * @version 1.00 * @author CODYY)peijiangping */ public class AS3Function implements FREFunction { @Override public FREObject call(FREContext pContext, FREObject[] pParams) { try { Context context = pContext.getActivity();//用来取得AIR程序中的Context对象 // Intent intent = new Intent(Intent.ACTION_VIEW); SIMCardInfo siminfo = new SIMCardInfo(context); //pParams为AIR传进来的参数组可以通过pParams[index].getXX()来获取; String ok = siminfo.getNativePhoneNumber()+pParams[0].getAsString()+siminfo.getProvidersName(); // String ok ="AAAAA"+pParams[0].getAsString(); // activity.startActivity(intent); return FREObject.newObject(ok);//返回一个Object对象给AIR } catch (Exception e) { e.printStackTrace(); } return null; } }
2.右键点击com.pei.air包,选择Export导出jar文件

\

选择下一步,如图:

\

把jar包保存到桌面这样就得到了一个air3.jar文件。

3.打开FB,新建一个Flex库项目,记得勾住Adobe AIR库,如图,我们取名叫TestKu

\

4.在库项目中新建包和类如下:

\

(责任编辑:www.57zxw.com)

顶一下
(0)
0%
踩一下
(0)
0%