2014-07-12 109 views
0

我是新的android系統,我在分享內容時遇到了一些問題。 我做了一個涉及測試的android應用程序。在過去的活動,我想提供共享通過shareintent用戶結果的機會,這裏的代碼框架:在Facebook上分享文字/圖像

display= (TextView) findViewById (R.id.tvDisplay); 
    display.setText("Well Done, your score is" + score); //score is an int 
    sharebutton= (Button)findViewById(R.id.sharebutton); 
    sharebutton.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      results = display.getText().toString(); 
      Intent shareIntent = new Intent(Intent.ACTION_SEND); 
      shareIntent.setType("text/plain"); 
      shareIntent.putExtra(Intent.EXTRA_TEXT,"My score in the test is" + results); 
      shareIntent.putExtra(Intent.EXTRA_SUBJECT, "TEST"); 
      startActivity(Intent.createChooser(shareIntent, "Share..")); 
     } 
    }); 

的問題是,當我按一下按鈕,我可以分享的確切所有共享工具(電子郵件,wapp等)中的文本,但不通過Facebook。爲什麼? 我試圖允許發佈圖像和文字在FB牆上,但我無法給出可繪製文件夾上的圖像的確切路徑。 謝謝你的所有建議。在SD卡,然後共享圖像

+0

看看這個:http://stackoverflow.com/questions/24709929/share-image-is-not-working-via-action-send/24710176#24710176 –

+0

嗨,我試過你的嘗試,但它doesn'噸工作。當我點擊FB圖標時,我只能在我的FB牆上張貼一些東西,而不張貼圖像。我寫了File myFile = new File(Environment.getExternalStorageDirectory()+「/ ic_launcher.png」); - 我試圖張貼啓動器圖標來測試它。 – Lordiron

回答

0

第一店面形象在Facebook上

File filePath = new File(Environment 
        .getExternalStorageDirectory(), 
        "/foldername/imagename.jpg"); 
      // share("facebook", filePath.toString()); 
      System.out.println(filePath); 
      List<Intent> targetedShareIntents = new ArrayList<Intent>(); 
      Intent share = new Intent(android.content.Intent.ACTION_SEND); 
      share.setType("image/jpeg"); 
      List<ResolveInfo> resInfo = getActivity().getPackageManager() 
        .queryIntentActivities(share, 0); 
      if (!resInfo.isEmpty()) { 
       for (ResolveInfo info : resInfo) { 
        Intent targetedShare = new Intent(
          android.content.Intent.ACTION_SEND); 
        targetedShare.setType("image/jpeg"); // put here your 
                  // mime 
        // type 
        if (info.activityInfo.packageName.toLowerCase() 
          .contains("facebook") 
          || info.activityInfo.name.toLowerCase() 
            .contains("facebook")) { 
         targetedShare.putExtra(Intent.EXTRA_SUBJECT, 
           "Sample Photo"); 
         targetedShare.putExtra(Intent.EXTRA_TEXT, 
           "This photo is created by App Name"); 
         targetedShare.putExtra(Intent.EXTRA_STREAM, 
           Uri.fromFile(filePath)); 
         targetedShare 
           .setPackage(info.activityInfo.packageName); 
         targetedShareIntents.add(targetedShare); 
        } 
       } 
       Intent chooserIntent = Intent.createChooser(
         targetedShareIntents.remove(0), 
         "Select app to share"); 
       chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, 
         targetedShareIntents.toArray(new Parcelable[] {})); 
       startActivity(chooserIntent); 
      } 
+0

它不起作用。有類似的問題。按一下按鈕,我可以在FB牆上寫字,但我無法分享圖像或文字。 – Lordiron

0

這取決於Facebook的應用程序是否正在接受文本或不通過的意圖,我知道他們接受的圖像和位圖文件,但文本他們不」接受它。我已經在我自己的項目之前嘗試過了,但無法通過意向提供文本。

The Facebook application does not handle either the EXTRA_SUBJECT or EXTRA_TEXT fields. 

我已經回答了這個問題here。可能是你可以按照這個link的情況下,你需要參考。

+0

也許我不理解你的答案,但你告訴我,不可能通過FB共享文本或圖像? – Lordiron

+0

它可以共享圖像但不是文本 – Pankaj