java - AIR native Android 扩展 - 始终返回空设备 ID

标签 java android air-native-extension

我正在为移动 AIR 应用程序编写 native Android 扩展。我正在尝试获取设备 ID,但返回的结果始终为空。我不知道我做错了什么。这是 native 扩展代码 (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 返回错误未找到 native freobject 的实现,这导致上下文获取 null。 我认为您已将 FlashRuntimeExtensions.jar 文件从 sdks 文件夹复制到您的 java 项目中。

尝试将 Adob​​e Flash Builder 4.x\sdks\4.xx\lib\android\FlashRuntimeExtensions.jar 添加到您的 jar 路径中。

关于java - AIR native Android 扩展 - 始终返回空设备 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9232859/

相关文章:

java - spring cloud - 我的 jar 外的 bootstrap.properties

java - 使用JXLS导入Excel : is it possible to specify sheet by order rather than name?

android - 在运行时更改标记图标

java - 如何获取 Adob​​e AIR Native Extension 中的上下文?

java - 由于 setSelection(),EditText 中的文本删除停止

Java - 解压和进度条

java - NullPointerException onCreate - android spinner

java - 播放 SD 卡中的音频文件

c++ - AIR native 扩展 "The extension context does not have a method with the name"

java - FREObject.callMethod 与 FREArray 作为参数错误