2013-06-26 3 views
1

일부 장치에서 yandex 맵 키트를 사용하는 내 응용 프로그램이 이러한 예외로 인해 충돌한다는 것을 알았습니다. 이 "java.lang.UnsupportedOperationException"예외는 무엇을 의미합니까?일부 장치에서 java.lang.UnsupportedOperationException이 throw 됨

06-26 16:25:06.301: ERROR DeviceIdProvider(3174): UNKNOWN ID QUERY content://ru.yandex.device.id.maps/device_id id -1 
06-26 16:25:06.301: ERROR/DatabaseUtils(3174): Writing exception to parcel 
      java.lang.UnsupportedOperationException: query: Not supported yet - content://ru.yandex.device.id.maps/device_id 
      at ru.yandex.core.device.id.DeviceIdProvider.query(SourceFile:80) 
      at android.content.ContentProvider$Transport.query(ContentProvider.java:178) 
      at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:112) 
      at android.os.Binder.execTransact(Binder.java:338) 
      at dalvik.system.NativeStart.run(Native Method) 
06-26 16:25:06.511: ERROR/dalvikvm(533): GC_FOR_ALLOC freed 2221K, 41% free 9496K/16035K, paused 7ms+22ms 
06-26 16:25:06.781: ERROR/AndroidRuntime(3690): FATAL EXCEPTION: AsyncTask #3 
      java.lang.RuntimeException: An error occured while executing doInBackground() 
      at android.os.AsyncTask$3.done(AsyncTask.java:278) 
      at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273) 
      at java.util.concurrent.FutureTask.setException(FutureTask.java:124) 
      at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307) 
      at java.util.concurrent.FutureTask.run(FutureTask.java:137) 
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) 
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569) 
      at java.lang.Thread.run(Thread.java:856) 
      Caused by: java.lang.NullPointerException 
      at com.shop.pagerFragments.TorgCentrMapFragment$SetRightMapDisplayAddress.doInBackground(TorgCentrMapFragment.java:419) 
      at com.shop.pagerFragments.TorgCentrMapFragment$SetRightMapDisplayAddress.doInBackground(TorgCentrMapFragment.java:401) 
      at android.os.AsyncTask$2.call(AsyncTask.java:264) 
      at java.util. 

concurrent.FutureTask$Sync.innerRun(FutureTask.java:305) 
     ... 4 more 

다음은 doInBackground 방법입니다 : 귀하의 답변에 미리

private class SetRightMapDisplayAddress extends AsyncTask<String, Void, List<Address>> { 

     @Override 
     protected List<Address> doInBackground(String... params) { 
      Log.d(TAG, "doinbackground SetRightMapDisplayAddress started"); 
      long startTime= System.currentTimeMillis(); 
      long threadId = Thread.currentThread().getId(); 
      Log.d(TAG, String.format("The thread id is: %d", threadId)); 

      context = getActivity(); 
      String placeName = params[0]; 
      Geocoder geocoder = new Geocoder(context); 
      List<Address> addressList = null; 
      try { 
       addressList = geocoder.getFromLocationName(placeName, 3); 
      } catch (IOException e) { 
       e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. 
      } 
      int returnedAddresses = addressList.size(); 
      Log.d(TAG, String.valueOf(returnedAddresses)); 
      long endTime = System.currentTimeMillis(); 
      Log.d(TAG, String.valueOf(startTime-endTime)); 
      Log.d(TAG, "doinbackground SetRightMapDisplayAddress ended"); 
      return addressList; 
     } 

감사합니다!

+0

'context = getActivity()'이 기능은 무엇입니까? 컨텍스트가 필요한 경우 활동 컨텍스트를 asynctask의 생성자에 전달해야합니다. – Raghunandan

+0

SourceFile의 줄 번호는 어디에 있습니까? –

+0

라인 80은 아무것도 표시하지 않는 컴파일 된 코드입니다.) – PAcan

답변

0

java.lang.UnsupportedOperationException가 : 쿼리는 : 아직 지원되지 않음 - 내용 : 예외 설명을 바탕으로

을 //ru.yandex.device.id.maps/device_id, 나는 것을 제안 할 수 있습니다 메서드가 프레임 워크 작성자에 의해 아직 구현되지 않았으므로 설명을 위해 지원 팀에 문의 할 수 있습니다.

관련 문제