2016-05-27 1 views
1

Я пытаюсь поделиться PNG изображение из локального хранилища с этим намерением:Опубликовать в Pinterest не работает на Зефир

Intent intent = new Intent(Intent.ACTION_SEND, imageUri) 
     .putExtra(Intent.EXTRA_STREAM, imageUri) 
     .putExtra(Intent.EXTRA_TEXT, text) 
     .putExtra("com.pinterest.EXTRA_DESCRIPTION", "123") 
     .addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION) 
     .setType("image/png"); 
return Intent.createChooser(intent, "Share with"); 

Это работает на Facebook, Instagram и т.д. Но для Pinterest, и только на Android 6.0.1 Я получаю это странное исключение:

Caused by: java.lang.IllegalStateException: Couldn't read row 0, col 0 from CursorWindow. Make sure the Cursor is initialized correctly before accessing data from it. 
    at android.database.CursorWindow.nativeGetLong(Native Method) 
    at android.database.CursorWindow.getLong(CursorWindow.java:511) 
    at android.database.CursorWindow.getInt(CursorWindow.java:578) 
    at android.database.AbstractWindowedCursor.getInt(AbstractWindowedCursor.java:69) 
    at android.database.CursorWrapper.getInt(CursorWrapper.java:122) 
    at com.pinterest.common.kit.utils.ImageUtils.getRotationForImage(SourceFile:231) 
    at com.pinterest.common.kit.utils.ImageUtils.rotateBitmapIfNeeded(SourceFile:201) 
    at com.pinterest.common.kit.utils.ImageUtils.imageFromUri(SourceFile:145) 
    at com.pinterest.activity.create.fragment.CreateBaseFragment.setImageUri(SourceFile:604) 
    at com.pinterest.activity.create.fragment.CreateBaseFragment.init(SourceFile:330) 
    at com.pinterest.activity.create.fragment.CreateBaseFragment.onCreateView(SourceFile:120) 
    at android.support.v4.app.Fragment.performCreateView(SourceFile:1974) 
    at android.support.v4.app.FragmentManagerImpl.moveToState(SourceFile:1067) 
    at android.support.v4.app.FragmentManagerImpl.moveToState(SourceFile:1252) 
    at android.support.v4.app.BackStackRecord.run(SourceFile:738) 
    at android.support.v4.app.FragmentManagerImpl.execPendingActions(SourceFile:1617) 
    at android.support.v4.app.FragmentController.execPendingActions(SourceFile:339) 
    at android.support.v4.app.FragmentActivity.onStart(SourceFile:602) 
    at com.pinterest.kit.activity.SocialConnectActivity.onStart(SourceFile:111) 
    at com.pinterest.kit.activity.BaseActivity.onStart(SourceFile:90) 
    at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1237) 
    at android.app.Activity.performStart(Activity.java:6268) 
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2379) 
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)  
    at android.app.ActivityThread.-wrap11(ActivityThread.java)  
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)  
    at android.os.Handler.dispatchMessage(Handler.java:102)  
    at android.os.Looper.loop(Looper.java:148)  
    at android.app.ActivityThread.main(ActivityThread.java:5417)  
    at java.lang.reflect.Method.invoke(Native Method)  
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)  
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)  

Помогите с этим справиться? Pinterest SDK не является вариантом.

+0

http://stackoverflow.com/questions/27388056/android-share-intent-for-pinterest-not-working –

+0

'ACTION_VIEW' не aplicable, как я хочу, чтобы все варианты обмена появляются в приложении Chooser – Andrew

ответ

0

Я получил его для работы, вставив изображение в медиа-магазин, а затем используя этот URI для Pinterest.

String urlOfShareImage = MediaStore.Images.Media.insertImage(getContentResolver(), outputFile.getPath(), outputFile.getName(), "Share text"); 
Uri shareImageUri = Uri.parse(urlOfShareImage); 
// Pass this URI to the share intent.