我将存储在SD卡中的图片发送到Facebook有问题。
我为此编写了两种方法: 第一种方法是OK。在这种情况下,会出现一个选择器。我在屏幕上选择Facebook,带有完整界面的facebook开始。图片出现在脸书中。我输入一个文字,然后按发布按钮。
Uri screenshotUri = Uri.parse("file:///sdcard/"+nomFichier);
try{
Intent intentPartager = new Intent(Intent.ACTION_SEND);
intentPartager.setType("image/*");
intentPartager.putExtra(Intent.EXTRA_STREAM, screenshotUri);
startActivity(Intent.createChooser(intentPartager, "Share image using"));
}
catch(Exception e){
e.printStackTrace();
Toast.makeText(this,R.string.erreurFaceBookAbsent,Toast.LENGTH_SHORT).show();
}
这种方法很好让用户选择软件发送图片(彩信,推特,脸书,......) 但我想简化命令并直接调用facebook。 所以我使用第二种方法和.setClassName(“com.facebook.katana”,“com.facebook.katana.ShareLinkActivity”)指令强制进行facebook调用。 不幸的是,这第二个不起作用。 Facebook已经启动,但没有在Facebook上下载图片(没有出现在Facebook中)。 facebook的屏幕界面也与第一种方法不同???
Uri screenshotUri = Uri.parse("file:///sdcard/"+nomFichier);
try{
Intent intentFacebook = new Intent(Intent.ACTION_SEND);
intentFacebook.setType("image/*");
intentFacebook.setClassName("com.facebook.katana","com.facebook.katana.ShareLinkActivity");
intentFacebook.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
//intentFacebook.putExtra(Intent.EXTRA_TEXT, "Mes performances avec SpeedMeter");
intentFacebook.putExtra(Intent.EXTRA_STREAM, screenshotUri);
//startActivity(intentFacebook);
startActivityForResult(intentFacebook, CODE_RETOUR_FACEBOOK);
} catch(Exception e){
e.printStackTrace();
Toast.makeText(this,R.string.erreurFaceBookAbsent,Toast.LENGTH_SHORT).show();
}
有人可以帮助我吗?第二种方法的问题在哪里? 西里尔