我的Android應用程序有幾個問題。我想分享一些文字和圖片給fb和twitter。第一個問題是,我無法將我的文本框中的文本複製到fb消息中......我的意思是我有一個文本字段,其中包含您想要共享的文本和2個按鈕(fb,twitter)以及twitter端正在工作很好,但我不能將文本附加到fb消息(窗口出現在按鈕的按鈕上,但它是空白的)。這裏是我的分享關於facebbok代碼:android共享應用程序
Intent shareIntent = new Intent(
android.content.Intent.ACTION_SEND);
shareIntent.setType("text/plain");
shareIntent.putExtra(android.content.Intent.EXTRA_SUBJECT,
txt.getText());
shareIntent.putExtra(android.content.Intent.EXTRA_TEXT,
txt.getText());
PackageManager pm = v.getContext().getPackageManager();
List<ResolveInfo> activityList = pm.queryIntentActivities(
shareIntent, 0);
for (final ResolveInfo app : activityList) {
if ((app.activityInfo.name).contains("facebook")) {
final ActivityInfo activity = app.activityInfo;
final ComponentName name = new ComponentName(
activity.applicationInfo.packageName,
activity.name);
shareIntent.addCategory(Intent.CATEGORY_LAUNCHER);
shareIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK
| Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
shareIntent.setComponent(name);
v.getContext().startActivity(shareIntent);
break;
}
}
我的另一個問題是,我的照片瀏覽器是給我這樣的文件的路徑:「外部/圖像/媒體/攝」我雖然這個問題是我必須複製擴展名(.jpg等),但那不是。如果我使用直接路徑:「/mnt/sdcard/DCIM/01.jpg」,它工作正常。有人可以幫助我如何找到照片的直接路徑或如何修改我的代碼,它的工作原理與第一種:
private void share(String nameApp, String imagePath, String text) {
try {
List<Intent> targetedShareIntents = new ArrayList<Intent>();
Intent share = new Intent(android.content.Intent.ACTION_SEND);
share.setType("image/jpeg");
List<ResolveInfo> resInfo = getPackageManager()
.queryIntentActivities(share, 0);
if (!resInfo.isEmpty()) {
for (ResolveInfo info : resInfo) {
Intent targetedShare = new Intent(
android.content.Intent.ACTION_SEND);
targetedShare.setType("image/jpeg");
if (info.activityInfo.packageName.toLowerCase().contains(
nameApp)
|| info.activityInfo.name.toLowerCase().contains(
nameApp)) {
targetedShare.putExtra(Intent.EXTRA_SUBJECT, text);
targetedShare.putExtra(Intent.EXTRA_TEXT, text);
targetedShare.putExtra(Intent.EXTRA_STREAM,
Uri.fromFile(new File(imagePath)));
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);
}
} catch (Exception e) {
}
}
THX預期...
我相信在這一刻,Facebook並不支持'android.content.Intent.ACTION_SEND'。因爲他們希望你使用他們的SDK,同樣應該與twitter,奇怪的是你讓它工作) – Daler
也許你會賴特,但Twitter部分工作正常或無照片...有人告訴我,我不能分享FB照片和文字在同一時間只與Facebook的SDK,所以我想讓他們分開...照片部分工作正常與FOB太,但我不能的文字部分不... – spd92
我也想通過將facebook共享集成到我的應用程序中,當我看到他們想使用他們的sdk時,我就通過了它。某處也是從facebook官方回答,他們不會把它放在他們的應用程序,所以... – Daler