2012-05-22 2 views
3

Я пытаюсь начать работу с FREFunction, чтобы использовать SSO facebook в моем приложении flex.Как начать работу с 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... 

Но мои звонки журнала в OnCreate метод являются FacebookSSO.java не отображаются:

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

Я попытался создать myIntent по-разному, например, с помощью setClass. Что я делаю неправильно? не

+0

Вы поняли это случайно? Я пытаюсь сделать то же самое. Хотя, я бегу через Flash Builder, поэтому я действительно не знаю, как получить любую информацию Logcat, поскольку она, кажется, подключается только к отладчику Flash. – Tylo

+0

Nope. Попытка сделать это с нуля, потому что этот проект делает то же самое, и это сработало для меня: http://blog.immanuelnoel.com/2011/12/07/new-actionscript-native-extension-speech-recognition/ – Melladric

+0

Черт. Да, я тоже это заметил. Я пробовал их метод создания SpeechHandler Activity, но я думаю, что они сделали это как какую-то работу для начала истинной речевой деятельности с результатом возврата. К сожалению, я не мог заставить SpeechHandler порождать свою деятельность. Дайте мне знать, если вы заработаете. – Tylo

ответ

0

Intent constructor вы используете ожидает контекст в качестве параметра (помните, что Activityявляется контекст также.)

Поскольку конструктор ожидает контекста, и вы начинаете с контекстом там должно быть необходимо позвонить getActivity(). Также startActivity() - это метод Context, поэтому во второй строке вам также не понадобится getActivity(). Однако я не знаю, приведет ли это к ошибке, которую вы видите.

Попробуйте ваш код таким образом:

Intent myIntent = new Intent(context, FacebookSSO.class); 
context.startActivity(myIntent); 
+0

Благодарим вас за ответ. Но это не будет работать, потому что контекст имеет тип FREContext, что означает неопределенную ошибку конструктора. Возможно ли какое-либо приведение? – Melladric

+0

Ahh, извините, я ничего не получил. Я не знаком с Air-платформой, не понял, что у нее есть своя версия Context. – FoamyGuy

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> 
Смежные вопросы