2017-08-02 2 views
0

Ich versuche Audio Recording-Datei mit intent zu teilen, aber ich bekomme Sending Failed, try again.Ich kann keine Audiodatei mit der Absicht teilen

Hier Dateipfad

/data/user/0/com.sandy.abc/files/abcpro/xyz_2017-08-214 14:08:04-1795326835.amr 

Hier ist mein Code, die ich für den Austausch von Vorsatz verwenden.

String path = objCallRecord.getFilePath(); 
    String recordFileName = objCallRecord.getFileName(); 

    Uri uri = Uri.fromFile(new File(path)); 
    Intent share = new Intent(Intent.ACTION_SEND); 
    share.setType("audio/*"); 
    share.putExtra(Intent.EXTRA_STREAM, uri); 
    startActivity(Intent.createChooser(share, "Share Recording")); 

Hier ist eine Ausnahme, die ich in Logcat bekomme.

Key android.intent.extra.STREAM expected ArrayList but value was a android.net.Uri$HierarchicalUri. The default value <null> was returned. 
08-02 14:56:52.719 9939-9939/? W/Bundle: Attempt to cast generated internal exception: 
             java.lang.ClassCastException: android.net.Uri$HierarchicalUri cannot be cast to java.util.ArrayList 
              at android.os.Bundle.getParcelableArrayList(Bundle.java:838) 
              at android.content.Intent.getParcelableArrayListExtra(Intent.java:5415) 
              at com.whatsapp.ContactPicker.l(ContactPicker.java:625) 
              at com.whatsapp.ContactPicker.onCreate(ContactPicker.java:340) 
              at android.app.Activity.performCreate(Activity.java:6245) 
              at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1130) 
              at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2379) 
              at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2490) 
              at android.app.ActivityThread.-wrap11(ActivityThread.java) 
              at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1354) 
              at android.os.Handler.dispatchMessage(Handler.java:102) 
              at android.os.Looper.loop(Looper.java:148) 
              at android.app.ActivityThread.main(ActivityThread.java:5443) 
              at java.lang.reflect.Method.invoke(Native Method) 
              at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728) 
              at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618). 

Ich weiß nicht, warum ich diesen Fehler bekomme. Bitte vorschlagen.

+0

Ihr Code sieht gut aus. Das ist wahrscheinlich ein Fehler in WhatsApps Umgang mit dem Inhalt. Aber anstatt einen file: // URI zu verwenden, versuchen Sie es mit einem content: // URI. In diesem Artikel finden Sie weitere Informationen zum Thema: https://medium.com/google-developers/sharing-content-between-android-apps-2e6db9d1368b – cketti

Antwort

0

In dieser Protokollzeile wird alles erklärt: android.intent.extra.STREAM erwartete ArrayList aber Wert war ein android.net.Uri $ HierarchicalUri. Es ist nicht möglich, den URI in eine ArrayList zu konvertieren, sodass der Standardwert verwendet wird. Bitte sag mir, was du nicht verstehst?

Verwandte Themen