0
package com.example.demoservice.extensions;

import android.content.ComponentName;
import android.util.Log;
import com.adobe.fre.FREContext;
import com.adobe.fre.FREFunction;
import com.adobe.fre.FREObject;

public class IapTstoreStartServiceFunction implements FREFunction {

    private static String TAG = IapTstoreStartServiceFunction.class.getSimpleName();

    public FREObject call( FREContext context, FREObject[] args ) {

        Log.d( TAG, "0 : " );

        try {
            Intent intent = new Intent( "com.example.demoservice.DemoService" );

            ComponentName cn = context.getActivity().startService( intent );

            Log.d( TAG, "1 : " + cn );  // <---- cn is null ******
        }
        catch( Exception e )
        {
            Log.d( TAG, "2 : " + e );
        }

        Log.d( TAG, "3 : " + cn );
        return null;
    }
}

上記の関数が呼び出されると、 startService() は null ( cn が null) を返し、DemoService の onStartCommand は呼び出されません。ただし、DemoService は、ネイティブの Android アクティビティによって呼び出されると正しく開始されます。ANE AIR で DemoService を開始できません。どうすればこれを解決できますか?

4

1 に答える 1

1

AIR アプリケーション記述子の android 部分にサービスを追加する必要があります。

<application android:enabled="true">
    <service android:name="com.example.demoservice.DemoService"/>    
</application>
于 2015-03-10T22:18:49.537 に答える