2

モバイル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;
    }
}
4

1 に答える 1

1

sdk4.6を使用していますか?

FREObject.newObjectエラーを返します。no implementation found for native freobjectこれにより、コンテキストが取得されnullます。FlashRuntimeExtensions.jarファイルをsdksフォルダーからjavaプロジェクトにコピーしたと思います。

AdobeFlashBuilderを4.x\sdks\4.xx\lib\android\FlashRuntimeExtensions.jarjarパスに追加してみてください。

于 2012-03-02T07:39:27.767 に答える