From dc2bca07720392c9a62026bbd5cd5d5a605f6a2d Mon Sep 17 00:00:00 2001 From: Alexander Smorkalov Date: Thu, 7 Mar 2013 15:13:30 +0400 Subject: [PATCH] Initialization with Manager instead static link added. --- .../native-activity/AndroidManifest.xml | 21 +++++---- .../android/native-activity/jni/Android.mk | 2 + .../NativeActivity/CvNativeActivity.java | 44 +++++++++++++++++++ 3 files changed, 59 insertions(+), 8 deletions(-) create mode 100644 samples/android/native-activity/src/org/opencv/samples/NativeActivity/CvNativeActivity.java diff --git a/samples/android/native-activity/AndroidManifest.xml b/samples/android/native-activity/AndroidManifest.xml index e7b1f1217..369bc7502 100644 --- a/samples/android/native-activity/AndroidManifest.xml +++ b/samples/android/native-activity/AndroidManifest.xml @@ -1,28 +1,33 @@ + android:debuggable="true"> + + + + + + + - - - - - + - + diff --git a/samples/android/native-activity/jni/Android.mk b/samples/android/native-activity/jni/Android.mk index 6b1564aa9..720d38b40 100644 --- a/samples/android/native-activity/jni/Android.mk +++ b/samples/android/native-activity/jni/Android.mk @@ -2,6 +2,8 @@ LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) +include ../../sdk/native/jni/OpenCV.mk + LOCAL_MODULE := native_activity LOCAL_SRC_FILES := native.cpp LOCAL_LDLIBS := -lm -llog -landroid diff --git a/samples/android/native-activity/src/org/opencv/samples/NativeActivity/CvNativeActivity.java b/samples/android/native-activity/src/org/opencv/samples/NativeActivity/CvNativeActivity.java new file mode 100644 index 000000000..d8e437533 --- /dev/null +++ b/samples/android/native-activity/src/org/opencv/samples/NativeActivity/CvNativeActivity.java @@ -0,0 +1,44 @@ +package org.opencv.samples.NativeActivity; + +import org.opencv.android.BaseLoaderCallback; +import org.opencv.android.LoaderCallbackInterface; +import org.opencv.android.OpenCVLoader; + +import android.app.Activity; +import android.content.Intent; +import android.os.Bundle; +import android.util.Log; + +public class CvNativeActivity extends Activity { + private static final String TAG = "OCVSample::Activity"; + + private BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this) { + @Override + public void onManagerConnected(int status) { + switch (status) { + case LoaderCallbackInterface.SUCCESS: + { + Log.i(TAG, "OpenCV loaded successfully"); + System.loadLibrary("native_activity"); + Intent intent = new Intent(CvNativeActivity.this, android.app.NativeActivity.class); + CvNativeActivity.this.startActivity(intent); + } break; + default: + { + super.onManagerConnected(status); + } break; + } + } + }; + + public CvNativeActivity() { + Log.i(TAG, "Instantiated new " + this.getClass()); + } + + @Override + public void onResume() + { + super.onResume(); + OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_3, this, mLoaderCallback); + } +} \ No newline at end of file