एंड्रॉयड प्लेटफार्म 4.0.4 OpenCV 2.4.3यादृच्छिक क्रम में गतिविधि फिर से शुरू करने के लिए
मैं opencv का उपयोग कर इसे प्रसंस्करण कैमरे से एक स्नैपशॉट प्राप्त करने के लिए कोशिश कर रहा हूँ और उसके बाद में असमर्थ! लेकिन कभी कभी (यादृच्छिक क्रम में) मैं निम्नलिखित अपवाद
9 18:54:33.659: E/AndroidRuntime(16625): FATAL EXCEPTION: main
12-19 18:54:33.659: E/AndroidRuntime(16625): java.lang.RuntimeException: Unable to resume activity {com.example.superemr/com.example.superemr.MainActivity}: java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=11, result=-1, data=Intent { act=inline-data dat=file:///mnt/sdcard/Pictures/IDSMART/IDS-1607435583.jpg typ=image/jpeg (has extras) }} to activity {com.example.superemr/com.example.superemr.MainActivity}: java.lang.NullPointerException
12-19 18:54:33.659: E/AndroidRuntime(16625): at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2464)
12-19 18:54:33.659: E/AndroidRuntime(16625): at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2492)
12-19 18:54:33.659: E/AndroidRuntime(16625): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1997)
12-19 18:54:33.659: E/AndroidRuntime(16625): at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3371)
12-19 18:54:33.659: E/AndroidRuntime(16625): at android.app.ActivityThread.access$700(ActivityThread.java:127)
12-19 18:54:33.659: E/AndroidRuntime(16625): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1162)
12-19 18:54:33.659: E/AndroidRuntime(16625): at android.os.Handler.dispatchMessage(Handler.java:99)
12-19 18:54:33.659: E/AndroidRuntime(16625): at android.os.Looper.loop(Looper.java:137)
12-19 18:54:33.659: E/AndroidRuntime(16625): at android.app.ActivityThread.main(ActivityThread.java:4441)
12-19 18:54:33.659: E/AndroidRuntime(16625): at java.lang.reflect.Method.invokeNative(Native Method)
12-19 18:54:33.659: E/AndroidRuntime(16625): at java.lang.reflect.Method.invoke(Method.java:511)
12-19 18:54:33.659: E/AndroidRuntime(16625): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
12-19 18:54:33.659: E/AndroidRuntime(16625): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
12-19 18:54:33.659: E/AndroidRuntime(16625): at dalvik.system.NativeStart.main(Native Method)
12-19 18:54:33.659: E/AndroidRuntime(16625): Caused by: java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=11, result=-1, data=Intent { act=inline-data dat=file:///mnt/sdcard/Pictures/IDSMART/IDS-1607435583.jpg typ=image/jpeg (has extras) }} to activity {com.example.superemr/com.example.superemr.MainActivity}: java.lang.NullPointerException
12-19 18:54:33.659: E/AndroidRuntime(16625): at android.app.ActivityThread.deliverResults(ActivityThread.java:3000)
12-19 18:54:33.659: E/AndroidRuntime(16625): at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2451)
12-19 18:54:33.659: E/AndroidRuntime(16625): ... 13 more
12-19 18:54:33.659: E/AndroidRuntime(16625): Caused by: java.lang.NullPointerException
12-19 18:54:33.659: E/AndroidRuntime(16625): at com.example.superemr.MainActivity.onActivityResult(MainActivity.java:88)
12-19 18:54:33.659: E/AndroidRuntime(16625): at android.app.Activity.dispatchActivityResult(Activity.java:4649)
12-19 18:54:33.659: E/AndroidRuntime(16625): at android.app.ActivityThread.deliverResults(ActivityThread.java:2996)
12-19 18:54:33.659: E/AndroidRuntime(16625): ... 14 more
जब मैं समस्या डिबग करने के लिए आम तौर पर कार्यक्रम सफल हो, लेकिन कभी कभी कोशिश हो रही है और इससे पहले कि कहा जाता हो onResume एक अपवाद फेंक दिया जाता है!
public void onResume()
{
super.onResume();
if(!OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_3, this, mLoaderCallback))
Toast.makeText(this, "cannot connect to opencv ",Toast.LENGTH_SHORT).show();
}
public void cap(View view)
{
Intent camInt = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
List<ResolveInfo> aa = getPackageManager().queryIntentActivities(
camInt, PackageManager.MATCH_DEFAULT_ONLY);
if (aa != null && aa.size() > 0) {
File dir = new File(
android.os.Environment
.getExternalStoragePublicDirectory(android.os.Environment.DIRECTORY_PICTURES),
"IDSMART");
if (!dir.exists()) {
boolean result = dir.mkdirs();
Log.d("Creating Dirs Result:",
result ? "Create have been Done :)"
: "Create have not been done :(");
}
Random r = new Random();
file = new File(dir, String.format("IDS%s.jpg", r.nextInt()));
camInt.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(file));
startActivityForResult(camInt, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);
}
}
मजबूत पाठ
समस्या अपने onActivityResult में है: 'com.example.superemr.MainActivity.onActivityResult (MainActivity.java:88)' में, बस nulls लिए जाँच करें। – dmon
यदि आपको सहायता चाहिए तो आपको अपना 'एक्टिविटी रीसेट' कोड पोस्ट करना चाहिए। – toadzky