AIR原生Android扩展 – 始终返回null设备ID

我正在为移动AIR应用程序编写原生Android扩展。 我试图获取设备ID,但结果总是返回null。 我无法弄清楚我做错了什么。 这是本机扩展代码(java):

import android.app.Activity; import android.provider.Settings; import android.provider.Settings.Secure; import android.content.Context; import android.content.SharedPreferences; import android.telephony.TelephonyManager; import com.adobe.fre.FREContext; import com.adobe.fre.FREFunction; import com.adobe.fre.FREObject; import com.adobe.fre.FREWrongThreadException; public class DeviceIdGetter extends Activity implements FREFunction { @Override public FREObject call(FREContext context, FREObject[] passedArgs) { FREObject result = null; TelephonyManager tManager = (TelephonyManager)getBaseContext().getSystemService(Context.TELEPHONY_SERVICE); try { result = FREObject.newObject(tManager.getDeviceId()); } catch (FREWrongThreadException fwte) { try { result = FREObject.newObject("error"); } catch (FREWrongThreadException fwte2) { } fwte.printStackTrace(); } return result; } } 

你在用sdk4.6吗?

FREObject.newObject返回错误, no implementation found for native freobject ,这导致上下文获取为null 。 我认为您已将sdks文件夹中的FlashRuntimeExtensions.jar文件复制到java项目中。

尝试将Adobe Flash Builder 4.x\sdks\4.xx\lib\android\FlashRuntimeExtensions.jar到jar路径中。

Interesting Posts