2012-04-05 6 views
3

Dieses Problem kann ähnlich aussehen, aber in keiner Weise im Zusammenhang mit "Video-Sharing auf Facebook mit Facebook SDK" oder "Teilen von Text oder Bild mit der Freigabe Absicht". Ich habe diese Beiträge auf SO gefolgt ->Video Sharing auf Facebook mit der Android-Freigabe Intent

Android share intent for Facebook

How to share photo with CAPTION via Android share intent on Facebook?

und diese externer Link

http://sudarmuthu.com/blog/sharing-content-in-android-using-action_send-intent

und kam über den Anteil Absicht in Android wissen, was sein kann, gestartet, um die Bilder/Videos/Texte mit der vorhandenen Freigabeanwendung auf Android Phone zu teilen. benutzen ich diesen Code, um das Bild auf Facebook zu teilen:

package com.mypackage.share; 

import android.app.Activity; 
import android.content.Intent; 
import android.net.Uri; 
import android.os.Bundle; 

public class FbshareActivity extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     Intent share = new Intent(Intent.ACTION_SEND); 
     share.setType("image/jpg"); 

     share.putExtra(Intent.EXTRA_STREAM,Uri.parse("file:///mnt/sdcard/tutu.jpg")); 
     startActivity(Intent.createChooser(share, "Share Image")); 
    } 
} 

die Manifest-Datei ist wie folgt:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.mypackage.share" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk android:minSdkVersion="10" /> 

    <application 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" > 
     <activity 
      android:label="@string/app_name" 
      android:name=".FbshareActivity" > 
      <intent-filter > 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
    </application> 

</manifest> 

Es funktioniert fine.I ist in der Lage, das Bild auf Facebook zu teilen.

Jetzt möchte ich das Video laden: I ersetzt diese Zeile: share.setType ("image/jpg");

mit diesem
share.setType ("video/3GPP");

und dieses share.putExtra (Intent.EXTRA_STREAM, Uri.parse ("** Datei: ///mnt/sdcard/dimg1333456357958.jpg")); ** mit diesem
share.putExtra (Intent.EXTRA_STREAM, Uri.parse ("** Datei: ///mnt/sdcard/a123bghy4.3gpp")); **

Aber ich diesen Fehler den Sicherheitscode ausgeführt wird:

/Environment(30996): getExternalStorageState/mnt/sdcard 
E/Environment(30996): getExternalStorageList 
W/MountService(2879): getVolumeState(/mnt/sdcard/external_sd): Unknown volume 
W/MountService(2879): getVolumeState(/mnt/sdcard/external_sd): Unknown volume 
E/Environment(30996): getExternalStorageState/mnt/sdcard 
D/SurfaceFlinger(2879): [JJ]removeSurface for sid=74 
D/dalvikvm(30996): GC_CONCURRENT freed 1106K, 19% free 8612K/10503K, paused 3ms+5ms 
E/SurfaceFlinger(2879): [JJ]SurfaceFlinger FPS: 24.994677 
D/ACRA (30996): Writing crash report file. 
D/ACRA (30996): Mark all pending reports as approved. 
D/ACRA (30996): Looking for error files in /data/data/com.facebook.katana/app_acra-reports 
V/ACRA (30996): About to start ReportSenderWorker from #handleException 
D/ACRA (30996): Add user comment to null 
D/ACRA (30996): #checkAndSendReports - start 
D/ACRA (30996): Looking for error files in /data/data/com.facebook.katana/app_acra-reports 
I/ACRA (30996): Sending file 1333628258000-approved.stacktrace 
D/ACRA (30996): Connect to https://www.facebook.com/mobile/android_crash_logs/ 
D/ACRA (30996): Setting httpPost headers 
D/ACRA (30996): Sending request to https://www.facebook.com/mobile/android_crash_logs/ 
D/dalvikvm(30996): GC_CONCURRENT freed 631K, 18% free 8644K/10503K, paused 5ms+2ms 
W/ResponseProcessCookies(30996): Invalid cookie header: "Set-Cookie: datr=ZY19T4_v6CV68jQn4FTduX_l; expires=Sat, 05-Apr-2014 12:17:41 GMT; path=/; domain=.facebook.com; httponly". Unable to parse expires attribute: Sat 
E/SurfaceFlinger(2879): [JJ]SurfaceFlinger FPS: 4.741684 
D/BatteryService(2879): update start 
D/ACRA (30996): #checkAndSendReports - finish 
E/AndroidRuntime(30996): FATAL EXCEPTION: main 
E/AndroidRuntime(30996): java.lang.NullPointerException 
E/AndroidRuntime(30996): at com.facebook.katana.service.method.VideoUpload.getRealPathFromURI(VideoUpload.java:144) 
E/AndroidRuntime(30996): at com.facebook.katana.service.method.VideoUpload.start(VideoUpload.java:165) 
E/AndroidRuntime(30996): at com.facebook.katana.binding.AppSession.postToService(AppSession.java:4212) 
E/AndroidRuntime(30996): at com.facebook.katana.service.method.VideoUpload.RequestVideoUpload(VideoUpload.java:73) 
E/AndroidRuntime(30996): at com.facebook.katana.activity.media.UploadVideoActivity.upload(UploadVideoActivity.java:209) 
E/AndroidRuntime(30996): at com.facebook.katana.activity.media.UploadVideoActivity.onClick(UploadVideoActivity.java:169) 
E/AndroidRuntime(30996): at android.view.View.performClick(View.java:3100) 
E/AndroidRuntime(30996): at android.view.View$PerformClick.run(View.java:11644) 
E/AndroidRuntime(30996): at android.os.Handler.handleCallback(Handler.java:587) 
E/AndroidRuntime(30996): at android.os.Handler.dispatchMessage(Handler.java:92) 
E/AndroidRuntime(30996): at android.os.Looper.loop(Looper.java:126) 
E/AndroidRuntime(30996): at android.app.ActivityThread.main(ActivityThread.java:4002) 
E/AndroidRuntime(30996): at java.lang.reflect.Method.invokeNative(Native Method) 
E/AndroidRuntime(30996): at java.lang.reflect.Method.invoke(Method.java:491) 
E/AndroidRuntime(30996): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:844) 
E/AndroidRuntime(30996): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:602) 
E/AndroidRuntime(30996): at dalvik.system.NativeStart.main(Native Method) 
D/SurfaceFlinger(2879): screenshot: sw=216, sh=135, minZ=0, maxZ=21015 
W/ActivityManager(2879): Force finishing activity com.facebook.katana/.activity.media.UploadVideoActivity 
D/SurfaceFlinger(2879): screenshot: result = OK 
E/android.os.Debug(2879): Dumpstate > /data/log/dumpstate_app_com_facebook_katana_error 
I/dumpstate(31581): begin 
W/ActivityManager(2879): Activity pause timeout for ActivityRecord{40f51e68 com.facebook.katana/.activity.media.UploadVideoActivity} 
F//system/bin/logcat(31586): stack corruption detected: aborted 
W/PowerManagerService(2879): Timer 0x3->0x3|0x0 
D/VoldCmdListener( 87): asec list 
I/dumpstate(31581): done 
D/InputTransport(2879): channel '41014710 Sorry! - Use *#9900# to take log - (server)' ~ mPointerStates->semaphore initialized 0x586ac000. 
D/InputTransport(2879): channel '41014710 Sorry! - Use *#9900# to take log - (server)' ~ mPointerStates initialized 0x586ac000. 
D/InputTransport(2879): channel '41014710 Sorry! - Use *#9900# to take log - (client)' ~ mPointerStates initialized 0x587f1000. 
E/SurfaceFlinger(2879): [JJ]SurfaceFlinger FPS: 0.207880 
D/SurfaceFlinger(2879): [JJ]createSurface for pid 31559 (1280 x 752) 
D/SurfaceFlinger(2879): [JJ]createSurface for pid 2879 (1 x 1) 
E/SurfaceFlinger(2879): [JJ]SurfaceFlinger FPS: 18.909105 

wie kann ich Debuggen Sie die com.facebook.katana? PLZ assit.

Antwort

-1

Versuchen Sie diesen Code.

ContentValues content = new ContentValues(4); 
content.put(Video.VideoColumns.DATE_ADDED, 
System.currentTimeMillis()/1000); 
content.put(Video.Media.MIME_TYPE, "video/mp4"); 
content.put(MediaStore.Video.Media.DATA, "video_path"); 
ContentResolver resolver = getBaseContext().getContentResolver(); 
Uri uri = resolver.insert(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, content); 

Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND); 
sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT,"Title"); 
sharingIntent.putExtra(android.content.Intent.EXTRA_STREAM,uri); 
startActivity(Intent.createChooser(sharingIntent,"share:")); 
+0

funktioniert es? hast du selbst getestet? – Ehsan

+0

Es funktioniert nicht, ich bekomme eine Dialogbox, die besagt, dass keine Apps diese Aktion ausführen können –