3

フレックス アプリケーションで Facebook の SSO を使用するために、FREFunction からアクティビティを開始しようとしています。

私は私のFREFunctionでやった:

    @Override
    public FREObject call(FREContext context, FREObject[] args) {
         Intent myIntent = new Intent(context.getActivity(), FacebookSSO.class);
         context.getActivity().startActivity(myIntent);
         return null;
    }

私はlogcatで取得します:

I/ActivityManager( 1322): Starting activity: 
Intent{ cmp=air.testapp/com.test.android.ane.activity.FacebookSSO } from pid...

しかし、FacebookSSO.java の onCreate メソッドでのログ呼び出しは表示されません。

 @Override
 public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     //setContentView(R.layout.main);
     Log.d("FacebookSSO", "onCreate BEGIN.");
     Log.d("FacebookSSO", "onCreate END.");
 }

setClass を使用するなど、さまざまな方法で myIntent を作成してみました。私は何を間違っていますか?

4

2 に答える 2

1

この問題は解決しましたか?

アプリケーション記述子のマニフェスト追加にクラスを追加しようとしましたか?

<android>
    <manifestAdditions><![CDATA[
        <manifest android:installLocation="auto">
            <uses-permission android:name="android.permission.INTERNET"/>
            <application>
                <activity android:name="com.test.android.ane.activity.FacebookSSO"></activity>
            </application>
        </manifest>
    ]]></manifestAdditions>
</android>
于 2012-08-17T02:55:55.080 に答える
0

使用しているIntent コンストラクターは、そのパラメーターとして Context を想定しています ( Activity Context であることを思い出してください)。

コンストラクターは Context を想定しており、コンテキストから開始しているため、 を呼び出す必要はありませんgetActivity()ContextstartActivity()のメソッドでもあるため、2 行目にも必要ありません。ただし、表示されているエラーが発生するかどうかはわかりません。getActivity()

この方法でコードを試してください:

Intent myIntent = new Intent(context, FacebookSSO.class);
context.startActivity(myIntent);
于 2012-05-22T21:10:21.593 に答える