2013-10-23 176 views
4

我已经好几天寻找解决这个问题,我不知道该怎么办:(action_image_capture重新启动应用程序

我有一个使用原生相机拍照的应用程序,但问题是,有时,只有在某些设备上,当我拍照并保存并返回,我的应用程序重新启动。

它的webview如此之多的逻辑是在服务器端,但使用JavaScript接口处理本机功能,如相机。

它很难赶上,因为它只发生在一些设备,即使他们是sa我有两个银河王牌,在一个几乎总是发生,并在其他几次(这些不是我测试的唯一设备)

我认为这是相关的方向或相机像那样。因为似乎当我在旋转保存/放弃屏的设备(拍照后)更经常发生

这是我的一些代码:

清单:

 <activity 
     android:name="XXX" 
     android:configChanges="orientation|keyboardHidden|screenSize" 
     android:excludeFromRecents="false" 
     android:label="@string/XXX" 
     android:launchMode="singleTask" 
     android:taskAffinity="" 
     android:windowSoftInputMode="adjustPan" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 

camera.class

 public void showNativeCamera(){ 

     // create Intent to take a picture and return control to the calling application 
     Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 


     UUID uniqueKey = UUID.randomUUID(); 
     mPictureName = "img_" + uniqueKey.toString() + ".jpg"; 
     fileUri = getOutputMediaFileUri(MEDIA_TYPE_IMAGE); // create a file to save the image 
     Log.d("amanda", "file uri: " + fileUri); 
     intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri); // set the image file name 


     intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 

     // start the image capture Intent 
     mParent.startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE); 
    } 

的logcat:

10-23 13:42:45.250: V/CropImage(12042): Crop = no, Return = specified uri 
10-23 13:42:45.257: D/PowerManagerService(1528): acquireWakeLock flags=0x1 tag=ActivityManager-Launch 
10-23 13:42:45.265: V/CropImage(12042): onPause 
10-23 13:42:45.273: D/PowerManagerService(1528): acquireWakeLock flags=0x1 tag=SCREEN_FROZEN 
10-23 13:42:45.273: I/WindowManager(1528): Setting rotation to 1, animFlags=1 
10-23 13:42:45.289: I/ActivityManager(1528): Config changed 
10-23 13:42:45.375: D/PowerManagerService(1528): releaseWakeLock flags=0x1 tag=SCREEN_FROZEN 
10-23 13:42:45.406: E/ClockWidget(11247): clock_bg portrait 
10-23 13:42:45.406: E/ClockWidget(11247): drawDayText 
10-23 13:42:45.406: E/ClockWidget(11247): width= 50 
10-23 13:42:45.406: E/ClockWidget(11247): widthText= 72.0 
10-23 13:42:45.406: E/ClockWidget(11247): RIGHT 
10-23 13:42:45.421: V/Camera(11982): --onActivityResult--requestCode: 2001 
10-23 13:42:45.421: V/Camera(11982): --onActivityResult--resultCode: -1 
10-23 13:42:45.421: V/Camera(11982): --onActivityResult--data: Intent { act=inline-data (has extras) } 
10-23 13:42:45.453: V/CropImage(12042): onDestroy 
10-23 13:42:45.914: D/PowerManagerService(1528): acquireWakeLock flags=0x1 tag=ActivityManager-Launch 
10-23 13:42:45.921: W/ActivityManager(1528): Duplicate finish request for 
10-23 13:42:45.929: D/PowerManagerService(1528): acquireWakeLock flags=0x1 tag=SCREEN_FROZEN 
10-23 13:42:45.929: I/WindowManager(1528): Setting rotation to 0, animFlags=1 
10-23 13:42:45.937: I/ActivityManager(1528): Config changed 
10-23 13:42:46.023: E/ClockWidget(11247): clock_bg portrait 
10-23 13:42:46.023: E/ClockWidget(11247): drawDayText 
10-23 13:42:46.023: E/ClockWidget(11247): width= 50 
10-23 13:42:46.023: E/ClockWidget(11247): widthText= 72.0 
10-23 13:42:46.023: E/ClockWidget(11247): RIGHT 
10-23 13:42:46.054: D/PowerManagerService(1528): releaseWakeLock flags=0x1 tag=SCREEN_FROZEN 
10-23 13:42:46.210: I/ApplicationPackageManager(12075): cscCountry is not German : ANC 
10-23 13:42:46.218: D/amanda(12075): onCreate() called 
10-23 13:42:46.281: I/webclipboard(12075): clipservice: [email protected] 
10-23 13:42:46.398: V/geo aca(12075): pklsajdf 
10-23 13:42:46.398: V/geo aca(12075): [email protected] 
10-23 13:42:46.406: V/acastart(12075): lpm 
10-23 13:42:46.414: V/asd(12075): [network, passive, gps] 
10-23 13:42:46.421: D/androidNlpServiceThread(8458): adding listener com.[email protected]405a5b48 with period 45 
10-23 13:42:46.421: D/androidNetworkLocationListeners(8458): Still have listener com.[email protected]405a5b48 
10-23 13:42:46.421: D/WifiService(1528): [mPersistState] : On 
10-23 13:42:46.421: D/PowerManagerService(1528): acquireWakeLock flags=0x1 tag=NetworkLocationLocator 
10-23 13:42:46.421: D/PowerManagerService(1528): acquireWakeLock flags=0x1 tag=WifiService 
10-23 13:42:46.421: D/PowerManagerService(1528): releaseWakeLock flags=0x1 tag=WifiService 
10-23 13:42:46.437: D/androidNlpServiceThread(8458): adding listener com.[email protected]405a5b48 with period 45 
10-23 13:42:46.437: D/androidNetworkLocationListeners(8458): Still have listener com.[email protected]405a5b48 
10-23 13:42:46.437: D/PowerManagerService(1528): acquireWakeLock flags=0x1 tag=RILJ 
10-23 13:42:46.445: D/PowerManagerService(1528): releaseWakeLock flags=0x1 tag=RILJ 
10-23 13:42:46.453: E/wpa_supplicant(4553): Ongoing Scan action... 
10-23 13:42:46.460: D/PowerManagerService(1528): acquireWakeLock flags=0x1 tag=RILJ 
10-23 13:42:46.468: D/PowerManagerService(1528): releaseWakeLock flags=0x1 tag=RILJ 
10-23 13:42:46.476: D/amanda(12075): onActivityResult() called 
10-23 13:42:46.484: D/amanda(12075): onActivityResult error: null 

回答