Собственное расширение AIR для Android — всегда возвращает нулевой идентификатор устройства

Я пишу собственное расширение Android для мобильного приложения AIR. Я пытаюсь получить идентификатор устройства, но результат всегда равен нулю. Я не могу понять, что я делаю неправильно. Вот собственный код расширения (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;
    }
}

person Seth    schedule 10.02.2012    source источник
comment
Вы запускаете это в эмуляторе?   -  person Nathan Moos    schedule 10.02.2012
comment
Нет, я работаю на своем HTC Evo.   -  person Seth    schedule 11.02.2012
comment
Вы когда-нибудь находили решение?   -  person brybam    schedule 14.08.2012


Ответы (1)


Вы используете SDK4.6?

FREObject.newObject возвращает ошибку no implementation found for native freobject, это вызывает контекст получения null. Я думаю, вы скопировали файл FlashRuntimeExtensions.jar из папки sdks в свой проект Java.

Попробуйте добавить Adobe Flash Builder 4.x\sdks\4.xx\lib\android\FlashRuntimeExtensions.jar в путь к банке.

person yimogod    schedule 02.03.2012
comment
Я использую 4.6sdk и использую упомянутый вами файл. Спасибо. - person Seth; 07.03.2012
comment
У меня точно такая же проблема. Все учебники, которые я нашел, работали для меня несколько месяцев назад, но теперь с новым SDK и всем остальным я продолжаю получать нулевую ошибку в контексте. Как следует из этого ответа, я всегда использовал внешний путь jar и все еще получаю нулевую ошибку. Что интересно, я буквально использую те же библиотечные проекты, что и в прошлом, и я все еще получаю ошибки. Кто-нибудь когда-нибудь находил какие-либо решения для этого ?? - person brybam; 14.08.2012