2013-06-08 42 views
7

Tôi hiện đang viết một ứng dụng Android (API cấp 2.3.3) liên quan đến việc lấy 300 giá trị thang độ xám cao nhất từ ​​ảnh chụp qua mục đích máy ảnh. Sau đây, các hàm (chủ yếu là toán và một số lịch/đồng hồ) được thực hiện trên giá trị kết quả. Tôi đang sử dụng máy ảnh mô phỏng Eclipse /.mục đích máy ảnh và hàng đợi ưu tiên trong Android

Máy ảnh sẽ kích hoạt và ảnh được chụp mà không gặp sự cố, đó là khi tôi cố gắng lưu ảnh (và khi sắp xếp pixel và chức năng toán học/lịch), ứng dụng gặp sự cố.

Tôi đã thử nghiệm ứng dụng chỉ với ý định máy ảnh và giá trị 'giả' cho biến chính (Y) và điều này hoạt động tốt.

Điều gì đang xảy ra?

Dưới đây là phần có liên quan của mã:

int[] pixels; 


    Button button = (Button) findViewById(R.id.button); 

    button.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 

      String _path = Environment.getExternalStorageDirectory() + File.separator + "sunpic.jpg"; 
      File file = new File(_path); 
      Uri outputFileUri = Uri.fromFile(file); 
      Intent intent = new Intent(
      android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
      intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri); 
      startActivityForResult(intent, 1); 

      } 

    }); 
} 

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
     switch(requestCode) { 
      case (1): { 
       if (resultCode == RESULT_OK) { 
        Uri outputFileUri = data.getData(); 
        try { 
         Bitmap bmp = android.provider.MediaStore.Images.Media.getBitmap(this.getContentResolver(), outputFileUri); 
         bmp.getPixels(pixels, 0, bmp.getWidth(), 0, 0, bmp.getWidth(), bmp.getHeight()); 

         for(int x = 0; x < bmp.getWidth(); ++x) { 
          for(int y = 0; y < bmp.getHeight(); ++y) { 
           int index = y * bmp.getWidth() + x; 
           int R = (pixels[index] >> 16) & 0xff; 
           int G = (pixels[index] >> 8) & 0xff; 
           int B = pixels[index] & 0xff; 
           Double Grey = (0.299 * R + 0.587 * G + 0.114 * B); 

           int topSize = 300; 
           // priority queue to save the largest topSize values 
           PriorityQueue<Double> pq; 
           pq = new PriorityQueue<Double>(topSize+1); 

           double nv = Grey.floatValue(); 
           if (pq.size() < topSize || pq.peek() < nv) { 
            // remove the smallest value from the queue only if it is full 
            if (pq.size() == topSize) { 
             pq.poll(); 
            } 
            pq.add(nv); 
           } 
           double sum = 0; 
           for(Double d : pq) { 
            sum += d; 

           } 
           double Y = sum/300; 

Trong Manifest XML, tôi có: lỗi

<uses-permission android:name="android.permission.CAMERA"/> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
<uses-feature android:name="android.hardware.camera"/> 

LogCat/cảnh báo:

06-09 02:10:40.076: E/SurfaceFlinger(37): ro.sf.lcd_density must be defined as a build property 
06-09 02:10:41.646: E/Trace(4464): error opening trace file: No such file or directory (2) 
06-09 02:10:49.907: W/ActivityManager(289): Launch timeout has expired, giving up wake lock! 
06-09 02:10:50.817: E/SurfaceFlinger(37): ro.sf.lcd_density must be defined as a build property 
06-09 02:10:51.106: W/ActivityManager(289): Activity idle timeout for ActivityRecord{40ec7900 inActivity} 
06-09 02:10:55.547: W/ActivityManager(289): Unable to start service Intent { act=com.android.email.ACCOUNT_INTENT } U=0: not found 
06-09 02:10:55.587: W/EGL_emulation(4464): eglSurfaceAttrib not implemented 
06-09 02:10:56.477: W/ActivityManager(289): Unable to start service Intent { act=com.android.email.ACCOUNT_INTENT } U=0: not found 
06-09 02:10:56.487: E/ActivityThread(707): Service com.android.exchange.ExchangeService has leaked ServiceConnection [email protected]fe978 that was originally bound here 
06-09 02:10:56.487: E/ActivityThread(707): android.app.ServiceConnectionLeaked: Service com.android.exchange.ExchangeService has leaked ServiceConnection [email protected]fe978 that was originally bound here 
06-09 02:10:56.487: E/ActivityThread(707): at android.app.LoadedApk$ServiceDispatcher.<init>(LoadedApk.java:969) 
06-09 02:10:56.487: E/ActivityThread(707): at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:863) 
06-09 02:10:56.487: E/ActivityThread(707): at android.app.ContextImpl.bindService(ContextImpl.java:1418) 
06-09 02:10:56.487: E/ActivityThread(707): at android.app.ContextImpl.bindService(ContextImpl.java:1407) 
06-09 02:10:56.487: E/ActivityThread(707): at android.content.ContextWrapper.bindService(ContextWrapper.java:473) 
06-09 02:10:56.487: E/ActivityThread(707): at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:157) 
06-09 02:10:56.487: E/ActivityThread(707): at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:145) 
06-09 02:10:56.487: E/ActivityThread(707): at com.android.emailcommon.service.ServiceProxy.test(ServiceProxy.java:191) 
06-09 02:10:56.487: E/ActivityThread(707): at com.android.exchange.ExchangeService$7.run(ExchangeService.java:1850) 
06-09 02:10:56.487: E/ActivityThread(707): at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:551) 
06-09 02:10:56.487: E/ActivityThread(707): at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:549) 
06-09 02:10:56.487: E/ActivityThread(707): at android.os.AsyncTask$2.call(AsyncTask.java:287) 
06-09 02:10:56.487: E/ActivityThread(707): at java.util.concurrent.FutureTask.run(FutureTask.java:234) 
06-09 02:10:56.487: E/ActivityThread(707): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080) 
06-09 02:10:56.487: E/ActivityThread(707): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573) 
06-09 02:10:56.487: E/ActivityThread(707): at java.lang.Thread.run(Thread.java:856) 
06-09 02:10:56.510: E/StrictMode(707): null 
06-09 02:10:56.510: E/StrictMode(707): android.app.ServiceConnectionLeaked: Service com.android.exchange.ExchangeService has leaked ServiceConnection [email protected]fe978 that was originally bound here 
06-09 02:10:56.510: E/StrictMode(707): at android.app.LoadedApk$ServiceDispatcher.<init>(LoadedApk.java:969) 
06-09 02:10:56.510: E/StrictMode(707): at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:863) 
06-09 02:10:56.510: E/StrictMode(707): at android.app.ContextImpl.bindService(ContextImpl.java:1418) 
06-09 02:10:56.510: E/StrictMode(707): at android.app.ContextImpl.bindService(ContextImpl.java:1407) 
06-09 02:10:56.510: E/StrictMode(707): at android.content.ContextWrapper.bindService(ContextWrapper.java:473) 
06-09 02:10:56.510: E/StrictMode(707): at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:157) 
06-09 02:10:56.510: E/StrictMode(707): at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:145) 
06-09 02:10:56.510: E/StrictMode(707): at com.android.emailcommon.service.ServiceProxy.test(ServiceProxy.java:191) 
06-09 02:10:56.510: E/StrictMode(707): at com.android.exchange.ExchangeService$7.run(ExchangeService.java:1850) 
06-09 02:10:56.510: E/StrictMode(707): at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:551) 
06-09 02:10:56.510: E/StrictMode(707): at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:549) 
06-09 02:10:56.510: E/StrictMode(707): at android.os.AsyncTask$2.call(AsyncTask.java:287) 
06-09 02:10:56.510: E/StrictMode(707): at java.util.concurrent.FutureTask.run(FutureTask.java:234) 
06-09 02:10:56.510: E/StrictMode(707): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080) 
06-09 02:10:56.510: E/StrictMode(707): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573) 
06-09 02:10:56.510: E/StrictMode(707): at java.lang.Thread.run(Thread.java:856) 
06-09 02:10:56.557: W/ActivityManager(289): Unbind failed: could not find connection for [email protected] 
06-09 02:11:02.557: W/IInputConnectionWrapper(4464): getCursorCapsMode on inactive InputConnection 
06-09 02:11:03.158: E/SurfaceFlinger(37): ro.sf.lcd_density must be defined as a build property 
06-09 02:11:14.797: E/WVMExtractor(40): Failed to open libwvm.so 
06-09 02:11:15.637: E/WVMExtractor(40): Failed to open libwvm.so 
06-09 02:11:22.179: E/SurfaceFlinger(37): ro.sf.lcd_density must be defined as a build property 
06-09 02:11:23.076: W/EGL_emulation(1762): eglSurfaceAttrib not implemented 
06-09 02:11:23.256: W/ActivityManager(289): Launch timeout has expired, giving up wake lock! 
06-09 02:11:23.716: W/ActivityManager(289): Activity idle timeout for ActivityRecord{40fb5d68 u0 com.android.camera/.Camera} 
06-09 02:11:24.146: E/SurfaceFlinger(37): ro.sf.lcd_density must be defined as a build property 
06-09 02:11:24.166: E/SurfaceFlinger(37): ro.sf.lcd_density must be defined as a build property 
06-09 02:11:29.237: W/InputConnectionWrapper.ICC(378): Timed out waiting on IInputContextCallback 
06-09 02:11:34.387: W/AudioTrack(40): releaseBuffer() track 0x2a02af18 name=0x1 disabled, restarting 
06-09 02:11:36.000: W/IInputConnectionWrapper(4464): getCursorCapsMode on inactive InputConnection 
06-09 02:11:36.087: W/IInputConnectionWrapper(4464): showStatusIcon on inactive InputConnection 
06-09 02:11:38.667: W/ActivityManager(289): Activity pause timeout for ActivityRecord{40fb5d68 u0 com.android.camera/.Camera} 
06-09 02:11:38.950: W/AudioFlinger(40): session id 9 not found for pid 40 
06-09 02:11:39.047: W/dalvikvm(4464): threadid=1: thread exiting with uncaught exception (group=0x40a71930) 
06-09 02:11:39.057: W/AudioFlinger(40): session id 10 not found for pid 40 
06-09 02:11:39.377: E/AndroidRuntime(4464): FATAL EXCEPTION: main 
06-09 02:11:39.377: E/AndroidRuntime(4464): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1, result=-1, data=null} to activity {irradiance.aerosolopticaldepth/irradiance.aerosolopticaldepth.MainActivity}: java.lang.NullPointerException 
06-09 02:11:39.377: E/AndroidRuntime(4464):  at android.app.ActivityThread.deliverResults(ActivityThread.java:3319) 
06-09 02:11:39.377: E/AndroidRuntime(4464):  at android.app.ActivityThread.handleSendResult(ActivityThread.java:3362) 
06-09 02:11:39.377: E/AndroidRuntime(4464):  at android.app.ActivityThread.access$1100(ActivityThread.java:141) 
06-09 02:11:39.377: E/AndroidRuntime(4464):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1282) 
06-09 02:11:39.377: E/AndroidRuntime(4464):  at android.os.Handler.dispatchMessage(Handler.java:99) 
06-09 02:11:39.377: E/AndroidRuntime(4464):  at android.os.Looper.loop(Looper.java:137) 
06-09 02:11:39.377: E/AndroidRuntime(4464):  at android.app.ActivityThread.main(ActivityThread.java:5041) 
06-09 02:11:39.377: E/AndroidRuntime(4464):  at java.lang.reflect.Method.invokeNative(Native Method) 
06-09 02:11:39.377: E/AndroidRuntime(4464):  at java.lang.reflect.Method.invoke(Method.java:511) 
06-09 02:11:39.377: E/AndroidRuntime(4464):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
06-09 02:11:39.377: E/AndroidRuntime(4464):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 
06-09 02:11:39.377: E/AndroidRuntime(4464):  at dalvik.system.NativeStart.main(Native Method) 
06-09 02:11:39.377: E/AndroidRuntime(4464): Caused by: java.lang.NullPointerException 
06-09 02:11:39.377: E/AndroidRuntime(4464):  at irradiance.aerosolopticaldepth.MainActivity.onActivityResult(MainActivity.java:73) 
06-09 02:11:39.377: E/AndroidRuntime(4464):  at android.app.Activity.dispatchActivityResult(Activity.java:5293) 
06-09 02:11:39.377: E/AndroidRuntime(4464):  at android.app.ActivityThread.deliverResults(ActivityThread.java:3315) 
06-09 02:11:39.377: E/AndroidRuntime(4464):  ... 11 more 
06-09 02:11:39.897: W/ActivityManager(289): Force finishing activity irradiance.aerosolopticaldepth/.MainActivity 
06-09 02:11:40.199: E/StrictMode(1762): A resource was acquired at attached stack trace but never released. See java.io.Closeable for information on avoiding resource leaks. 
06-09 02:11:40.199: E/StrictMode(1762): java.lang.Throwable: Explicit termination method 'release' not called 
06-09 02:11:40.199: E/StrictMode(1762):  at dalvik.system.CloseGuard.open(CloseGuard.java:184) 
06-09 02:11:40.199: E/StrictMode(1762):  at android.view.Surface.<init>(Surface.java:289) 
06-09 02:11:40.199: E/StrictMode(1762):  at android.view.SurfaceView.<init>(SurfaceView.java:96) 
06-09 02:11:40.199: E/StrictMode(1762):  at java.lang.reflect.Constructor.constructNative(Native Method) 
06-09 02:11:40.199: E/StrictMode(1762):  at java.lang.reflect.Constructor.newInstance(Constructor.java:417) 
06-09 02:11:40.199: E/StrictMode(1762):  at android.view.LayoutInflater.createView(LayoutInflater.java:587) 
06-09 02:11:40.199: E/StrictMode(1762):  at android.view.LayoutInflater.onCreateView(LayoutInflater.java:643) 
06-09 02:11:40.199: E/StrictMode(1762):  at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:66) 
06-09 02:11:40.199: E/StrictMode(1762):  at android.view.LayoutInflater.onCreateView(LayoutInflater.java:660) 
06-09 02:11:40.199: E/StrictMode(1762):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:685) 
06-09 02:11:40.199: E/StrictMode(1762):  at android.view.LayoutInflater.rInflate(LayoutInflater.java:746) 
06-09 02:11:40.199: E/StrictMode(1762):  at android.view.LayoutInflater.rInflate(LayoutInflater.java:749) 
06-09 02:11:40.199: E/StrictMode(1762):  at android.view.LayoutInflater.parseInclude(LayoutInflater.java:830) 
06-09 02:11:40.199: E/StrictMode(1762):  at android.view.LayoutInflater.rInflate(LayoutInflater.java:736) 
06-09 02:11:40.199: E/StrictMode(1762):  at android.view.LayoutInflater.inflate(LayoutInflater.java:489) 
06-09 02:11:40.199: E/StrictMode(1762):  at android.view.LayoutInflater.inflate(LayoutInflater.java:396) 
06-09 02:11:40.199: E/StrictMode(1762):  at android.view.LayoutInflater.inflate(LayoutInflater.java:352) 
06-09 02:11:40.199: E/StrictMode(1762):  at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:270) 
06-09 02:11:40.199: E/StrictMode(1762):  at android.app.Activity.setContentView(Activity.java:1881) 
06-09 02:11:40.199: E/StrictMode(1762):  at com.android.camera.Camera.onCreate(Camera.java:1131) 
06-09 02:11:40.199: E/StrictMode(1762):  at android.app.Activity.performCreate(Activity.java:5104) 
06-09 02:11:40.199: E/StrictMode(1762):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080) 
06-09 02:11:40.199: E/StrictMode(1762):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144) 
06-09 02:11:40.199: E/StrictMode(1762):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230) 
06-09 02:11:40.199: E/StrictMode(1762):  at android.app.ActivityThread.access$600(ActivityThread.java:141) 
06-09 02:11:40.199: E/StrictMode(1762):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234) 
06-09 02:11:40.199: E/StrictMode(1762):  at android.os.Handler.dispatchMessage(Handler.java:99) 
06-09 02:11:40.199: E/StrictMode(1762):  at android.os.Looper.loop(Looper.java:137) 
06-09 02:11:40.199: E/StrictMode(1762):  at android.app.ActivityThread.main(ActivityThread.java:5041) 
06-09 02:11:40.199: E/StrictMode(1762):  at java.lang.reflect.Method.invokeNative(Native Method) 
06-09 02:11:40.199: E/StrictMode(1762):  at java.lang.reflect.Method.invoke(Method.java:511) 
06-09 02:11:40.199: E/StrictMode(1762):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
06-09 02:11:40.199: E/StrictMode(1762):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 
06-09 02:11:40.199: E/StrictMode(1762):  at dalvik.system.NativeStart.main(Native Method) 
06-09 02:11:40.647: E/StrictMode(1762): A resource was acquired at attached stack trace but never released. See java.io.Closeable for information on avoiding resource leaks. 
06-09 02:11:40.647: E/StrictMode(1762): java.lang.Throwable: Explicit termination method 'release' not called 
06-09 02:11:40.647: E/StrictMode(1762):  at dalvik.system.CloseGuard.open(CloseGuard.java:184) 
06-09 02:11:40.647: E/StrictMode(1762):  at android.view.Surface.<init>(Surface.java:289) 
06-09 02:11:40.647: E/StrictMode(1762):  at android.view.SurfaceView.<init>(SurfaceView.java:97) 
06-09 02:11:40.647: E/StrictMode(1762):  at java.lang.reflect.Constructor.constructNative(Native Method) 
06-09 02:11:40.647: E/StrictMode(1762):  at java.lang.reflect.Constructor.newInstance(Constructor.java:417) 
06-09 02:11:40.647: E/StrictMode(1762):  at android.view.LayoutInflater.createView(LayoutInflater.java:587) 
06-09 02:11:40.647: E/StrictMode(1762):  at android.view.LayoutInflater.onCreateView(LayoutInflater.java:643) 
06-09 02:11:40.647: E/StrictMode(1762):  at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:66) 
06-09 02:11:40.647: E/StrictMode(1762):  at android.view.LayoutInflater.onCreateView(LayoutInflater.java:660) 
06-09 02:11:40.647: E/StrictMode(1762):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:685) 
06-09 02:11:40.647: E/StrictMode(1762):  at android.view.LayoutInflater.rInflate(LayoutInflater.java:746) 
06-09 02:11:40.647: E/StrictMode(1762):  at android.view.LayoutInflater.rInflate(LayoutInflater.java:749) 
06-09 02:11:40.647: E/StrictMode(1762):  at android.view.LayoutInflater.parseInclude(LayoutInflater.java:830) 
06-09 02:11:40.647: E/StrictMode(1762):  at android.view.LayoutInflater.rInflate(LayoutInflater.java:736) 
06-09 02:11:40.647: E/StrictMode(1762):  at android.view.LayoutInflater.inflate(LayoutInflater.java:489) 
06-09 02:11:40.647: E/StrictMode(1762):  at android.view.LayoutInflater.inflate(LayoutInflater.java:396) 
06-09 02:11:40.647: E/StrictMode(1762):  at android.view.LayoutInflater.inflate(LayoutInflater.java:352) 
06-09 02:11:40.647: E/StrictMode(1762):  at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:270) 
06-09 02:11:40.647: E/StrictMode(1762):  at android.app.Activity.setContentView(Activity.java:1881) 
06-09 02:11:40.647: E/StrictMode(1762):  at com.android.camera.Camera.onCreate(Camera.java:1131) 
06-09 02:11:40.647: E/StrictMode(1762):  at android.app.Activity.performCreate(Activity.java:5104) 
06-09 02:11:40.647: E/StrictMode(1762):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080) 
06-09 02:11:40.647: E/StrictMode(1762):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144) 
06-09 02:11:40.647: E/StrictMode(1762):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230) 
06-09 02:11:40.647: E/StrictMode(1762):  at android.app.ActivityThread.access$600(ActivityThread.java:141) 
06-09 02:11:40.647: E/StrictMode(1762):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234) 
06-09 02:11:40.647: E/StrictMode(1762):  at android.os.Handler.dispatchMessage(Handler.java:99) 
06-09 02:11:40.647: E/StrictMode(1762):  at android.os.Looper.loop(Looper.java:137) 
06-09 02:11:40.647: E/StrictMode(1762):  at android.app.ActivityThread.main(ActivityThread.java:5041) 
06-09 02:11:40.647: E/StrictMode(1762):  at java.lang.reflect.Method.invokeNative(Native Method) 
06-09 02:11:40.647: E/StrictMode(1762):  at java.lang.reflect.Method.invoke(Method.java:511) 
06-09 02:11:40.647: E/StrictMode(1762):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
06-09 02:11:40.647: E/StrictMode(1762):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 
06-09 02:11:40.647: E/StrictMode(1762):  at dalvik.system.NativeStart.main(Native Method) 
06-09 02:11:42.377: W/ActivityManager(289): Activity pause timeout for ActivityRecord{40ec7900 u0 irradiance.aerosolopticaldepth/.MainActivity} 
06-09 02:11:43.637: E/SurfaceFlinger(37): ro.sf.lcd_density must be defined as a build property 
06-09 02:11:47.517: W/ActivityManager(289): Unable to start service Intent { act=com.android.email.ACCOUNT_INTENT } U=0: not found 
06-09 02:11:48.175: W/ActivityManager(289): Launch timeout has expired, giving up wake lock! 
06-09 02:11:48.647: W/InputDispatcher(289): channel '40fc3848 irradiance.aerosolopticaldepth/irradiance.aerosolopticaldepth.MainActivity (server)' ~ Consumer closed input channel or an error occurred. events=0x9 
06-09 02:11:48.647: E/InputDispatcher(289): channel '40fc3848 irradiance.aerosolopticaldepth/irradiance.aerosolopticaldepth.MainActivity (server)' ~ Channel is unrecoverably broken and will be disposed! 
06-09 02:11:48.767: W/InputDispatcher(289): Attempted to unregister already unregistered input channel '40fc3848 irradiance.aerosolopticaldepth/irradiance.aerosolopticaldepth.MainActivity (server)' 
06-09 02:11:49.668: W/ActivityManager(289): Unable to start service Intent { act=com.android.email.ACCOUNT_INTENT } U=0: not found 
06-09 02:11:50.137: E/ActivityThread(707): Service com.android.exchange.ExchangeService has leaked ServiceConnection [email protected]0b180 that was originally bound here 
06-09 02:11:50.137: E/ActivityThread(707): android.app.ServiceConnectionLeaked: Service com.android.exchange.ExchangeService has leaked ServiceConnection [email protected]0b180 that was originally bound here 
06-09 02:11:50.137: E/ActivityThread(707): at android.app.LoadedApk$ServiceDispatcher.<init>(LoadedApk.java:969) 
06-09 02:11:50.137: E/ActivityThread(707): at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:863) 
06-09 02:11:50.137: E/ActivityThread(707): at android.app.ContextImpl.bindService(ContextImpl.java:1418) 
06-09 02:11:50.137: E/ActivityThread(707): at android.app.ContextImpl.bindService(ContextImpl.java:1407) 
06-09 02:11:50.137: E/ActivityThread(707): at android.content.ContextWrapper.bindService(ContextWrapper.java:473) 
06-09 02:11:50.137: E/ActivityThread(707): at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:157) 
06-09 02:11:50.137: E/ActivityThread(707): at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:145) 
06-09 02:11:50.137: E/ActivityThread(707): at com.android.emailcommon.service.AccountServiceProxy.getDeviceId(AccountServiceProxy.java:116) 
06-09 02:11:50.137: E/ActivityThread(707): at com.android.exchange.ExchangeService.getDeviceId(ExchangeService.java:1249) 
06-09 02:11:50.137: E/ActivityThread(707): at com.android.exchange.ExchangeService$7.run(ExchangeService.java:1856) 
06-09 02:11:50.137: E/ActivityThread(707): at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:551) 
06-09 02:11:50.137: E/ActivityThread(707): at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:549) 
06-09 02:11:50.137: E/ActivityThread(707): at android.os.AsyncTask$2.call(AsyncTask.java:287) 
06-09 02:11:50.137: E/ActivityThread(707): at java.util.concurrent.FutureTask.run(FutureTask.java:234) 
06-09 02:11:50.137: E/ActivityThread(707): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080) 
06-09 02:11:50.137: E/ActivityThread(707): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573) 
06-09 02:11:50.137: E/ActivityThread(707): at java.lang.Thread.run(Thread.java:856) 
06-09 02:11:50.387: E/SurfaceFlinger(37): ro.sf.lcd_density must be defined as a build property 
06-09 02:11:50.650: E/StrictMode(707): null 
06-09 02:11:50.650: E/StrictMode(707): android.app.ServiceConnectionLeaked: Service com.android.exchange.ExchangeService has leaked ServiceConnection [email protected]0b180 that was originally bound here 
06-09 02:11:50.650: E/StrictMode(707): at android.app.LoadedApk$ServiceDispatcher.<init>(LoadedApk.java:969) 
06-09 02:11:50.650: E/StrictMode(707): at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:863) 
06-09 02:11:50.650: E/StrictMode(707): at android.app.ContextImpl.bindService(ContextImpl.java:1418) 
06-09 02:11:50.650: E/StrictMode(707): at android.app.ContextImpl.bindService(ContextImpl.java:1407) 
06-09 02:11:50.650: E/StrictMode(707): at android.content.ContextWrapper.bindService(ContextWrapper.java:473) 
06-09 02:11:50.650: E/StrictMode(707): at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:157) 
06-09 02:11:50.650: E/StrictMode(707): at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:145) 
06-09 02:11:50.650: E/StrictMode(707): at com.android.emailcommon.service.AccountServiceProxy.getDeviceId(AccountServiceProxy.java:116) 
06-09 02:11:50.650: E/StrictMode(707): at com.android.exchange.ExchangeService.getDeviceId(ExchangeService.java:1249) 
06-09 02:11:50.650: E/StrictMode(707): at com.android.exchange.ExchangeService$7.run(ExchangeService.java:1856) 
06-09 02:11:50.650: E/StrictMode(707): at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:551) 
06-09 02:11:50.650: E/StrictMode(707): at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:549) 
06-09 02:11:50.650: E/StrictMode(707): at android.os.AsyncTask$2.call(AsyncTask.java:287) 
06-09 02:11:50.650: E/StrictMode(707): at java.util.concurrent.FutureTask.run(FutureTask.java:234) 
06-09 02:11:50.650: E/StrictMode(707): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080) 
06-09 02:11:50.650: E/StrictMode(707): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573) 
06-09 02:11:50.650: E/StrictMode(707): at java.lang.Thread.run(Thread.java:856) 
06-09 02:11:50.677: W/ActivityManager(289): Unbind failed: could not find connection for [email protected] 
06-09 02:11:50.927: W/EGL_emulation(407): eglSurfaceAttrib not implemented 
06-09 02:11:51.347: E/ActivityThread(707): Service com.android.exchange.ExchangeService has leaked ServiceConnection [email protected]0a990 that was originally bound here 
06-09 02:11:51.347: E/ActivityThread(707): android.app.ServiceConnectionLeaked: Service com.android.exchange.ExchangeService has leaked ServiceConnection [email protected]0a990 that was originally bound here 
06-09 02:11:51.347: E/ActivityThread(707): at android.app.LoadedApk$ServiceDispatcher.<init>(LoadedApk.java:969) 
06-09 02:11:51.347: E/ActivityThread(707): at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:863) 
06-09 02:11:51.347: E/ActivityThread(707): at android.app.ContextImpl.bindService(ContextImpl.java:1418) 
06-09 02:11:51.347: E/ActivityThread(707): at android.app.ContextImpl.bindService(ContextImpl.java:1407) 
06-09 02:11:51.347: E/ActivityThread(707): at android.content.ContextWrapper.bindService(ContextWrapper.java:473) 
06-09 02:11:51.347: E/ActivityThread(707): at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:157) 
06-09 02:11:51.347: E/ActivityThread(707): at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:145) 
06-09 02:11:51.347: E/ActivityThread(707): at com.android.emailcommon.service.ServiceProxy.test(ServiceProxy.java:191) 
06-09 02:11:51.347: E/ActivityThread(707): at com.android.exchange.ExchangeService$7.run(ExchangeService.java:1850) 
06-09 02:11:51.347: E/ActivityThread(707): at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:551) 
06-09 02:11:51.347: E/ActivityThread(707): at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:549) 
06-09 02:11:51.347: E/ActivityThread(707): at android.os.AsyncTask$2.call(AsyncTask.java:287) 
06-09 02:11:51.347: E/ActivityThread(707): at java.util.concurrent.FutureTask.run(FutureTask.java:234) 
06-09 02:11:51.347: E/ActivityThread(707): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080) 
06-09 02:11:51.347: E/ActivityThread(707): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573) 
06-09 02:11:51.347: E/ActivityThread(707): at java.lang.Thread.run(Thread.java:856) 
06-09 02:11:52.498: W/ActivityManager(289): Activity idle timeout for ActivityRecord{40f7a298 u0 com.android.launcher/com.android.launcher2.Launcher} 
+0

Đầu ra LogCat là gì? – Piovezan

+0

Đã chỉnh sửa trong cảnh báo/lỗi logcat - tất cả những gì tôi có thể phù hợp với bài đăng này –

+0

NullPointerException tại dòng 73 của MainActivity.java. Đó là dòng nào? – Piovezan

Trả lời

3

vẫn gặp không may mắn, tôi đã thay đổi mã ý định của máy ảnh thành:

@Override 
     public void onClick(View v) { 


      String _path = Environment.getExternalStorageDirectory().getAbsolutePath() + "sunpic.jpg"; 
      File file = new File(_path); 
      //Uri fileUri = Uri.fromFile(file); 
      Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
      intent.putExtra(MediaStore.EXTRA_OUTPUT, file);    
      //File file = new File(Environment.getExternalStorageDirectory().getPath()); 
      intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(file)); 
      startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE); 


      } 

    }); 
} 

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    //super.onActivityResult(requestCode, resultCode, data); 
     if(requestCode == CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE && resultCode == RESULT_OK) { 

        //Uri file = data.getData(); 
        FileInputStream is; 
        try { 
         is = new FileInputStream("mnt/sdcard/sunpic.jpg"); 


        Bitmap bmp = BitmapFactory.decodeStream(is); 
        //Bitmap bmp = android.provider.MediaStore.Images.Media.getBitmap(this.getContentResolver(), file); 
        //Bitmap bmp = (Bitmap) data.getExtras().get("data"); 
        bmp.getPixels(pixels, 0, bmp.getWidth(), 0, 0, bmp.getWidth(), bmp.getHeight()); 

Phần còn lại của điều này giống với nội dung trong bài đăng gốc của tôi.

Trình ghi nhật ký trống và ngay khi tôi chụp ảnh trên máy ảnh, nó bị treo.

gì tôi đã cố gắng trước đó không bao gồm

FileInputStream is; 
        try { 
         is = new FileInputStream("mnt/sdcard/sunpic.jpg"); 

và có dòng tiếp theo như

Bitmap bmp = BitmapFactory.decodeStream("sunpic.jpg"); 

Nhưng điều đó một cách nhất quán nhổ ra lỗi NullPointer, mà tôi thực sự không hiểu tại sao, mặc dù đọc nhiều chủ đề khác/tài nguyên web khác về nó.

+1

Không có hành vi phạm tội nhưng tôi nghĩ bạn cần đọc một cuốn sách cơ bản về Java và Android cơ bản trước khi đăng ở đây ... – philask

Các vấn đề liên quan