从本机扩展启动自定义类型的活动

时间:2013-07-22 17:42:48

标签: android flash air air-native-extension

我使用原生扩展来构建自定义视频录制界面,启动此活动的代码是:

    @Override
public FREObject call(FREContext freContext, FREObject[] args) {

    Context context = freContext.getActivity().getApplicationContext();
    Intent myIntent = new Intent(context, VideoRecorder.class);

    int layoutID = freContext.getResourceId("layout.video_recorder");
    int surfaceViewID = freContext.getResourceId("id.surfaceView");
    int toggleRecordingButtonID = freContext.getResourceId("id.toggleRecordingButton");

    myIntent.putExtra("layoutID", layoutID);
    myIntent.putExtra("surfaceViewID", surfaceViewID);
    myIntent.putExtra("toggleRecordingButtonID", toggleRecordingButtonID);

    context.startActivity(myIntent);
    return null;
}

由于我正在使用自定义活动,因此我将以下行添加到我的Flash清单xml文件中:

<application android:enabled="true">
<activity android:name="com.xxxxx.videorecorderlib.VideoRecorder"></activity>
</application>

“com.xxxxx.videorecorderlib”是VideoRecorder所在的原生Android软件包。

当我通过Flash和我的Android手机构建并运行应用程序时,我在ADT LogCat中收到以下错误:

  

07-22 17:25:33.282:D / VideoRecorder(15369):   android.content.ActivityNotFoundException:无法找到显式   活动课   {air.com.xxxxx.videorecorderprototype / com.lxxxxx.videorecorderlib.VideoRecorder2};   你有没有在AndroidManifest.xml中声明这个活动?

“air.com.xxxxx.videorecorderprototype”是我的Air app ID。请任何人都能告诉我为什么我收到这个错误?我也尝试在Android本机清单中添加<activity>标记,但我仍然遇到相同的错误(尝试了完全限定名称和。语法)。

谢谢!

1 个答案:

答案 0 :(得分:1)

哎呀,找到了它无法正常工作的原因。我将<application>标记作为<manifestAdditions>的子标记,而不是<manifest>

希望这可以帮助有人下线!