android - persona - como guardar borradores en twitter pc
¿Cómo compartir una imagen http directamente en Twitter en Android? (4)
Hasta ahora busqué en la publicación stackoverflow y puedo compartir el texto directamente en Twitter sin mostrar el cuadro de diálogo emergente para compartir. Eso significa que cuando hago clic en el botón, se lo redirecciona directamente a la aplicación de Twitter y se muestra el texto.
Mi único problema es que tengo que compartir la imagen http directamente en Twitter.
A continuación he publicado el código de lo que probé hasta ahora:
UsersAdapter.java:
// Create intent using ACTION_VIEW and a normal Twitter url:
String tweetUrl = String.format("https://twitter.com/intent/tweet?text=%s&url=%s",
urlEncode(strShareText),
urlEncode(strShareImageUrl));
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(tweetUrl));
// Narrow down to official Twitter app, if available:
List<ResolveInfo> matches = context.getPackageManager().queryIntentActivities(intent, 0);
for (ResolveInfo info : matches) {
if (info.activityInfo.packageName.toLowerCase().startsWith("com.twitter")) {
intent.setPackage(info.activityInfo.packageName);
}
}
context.startActivity(intent);
En ese código anterior, el texto se muestra correctamente en twitter. Pero la imagen se muestra en http url.
Alguien sabe cómo compartir la imagen directamente a la aplicación de Twitter sin mostrar el enlace.
puedes probar esto es su trabajo para mí
La imagen Uri:
File myImageFile = new File("/path/to/image");
Uri myImageUri = Uri.fromFile(myImageFile);
Generador de intenciones
TweetComposer.Builder builder = new TweetComposer.Builder(this)
.text("just setting up my Fabric.")
.image(myImageUri);
builder.show();
Agregue esto a sus dependencias build.gradle:
dependencies {
compile(''com.twitter.sdk.android:tweet-composer:1.0.5@aar'') {
transitive = true;
}
}
Puede usar el diálogo de TwitterComposer .
Aquí hay un código de muestra.
TweetComposer.Builder builder = new TweetComposer.Builder(mActivity)
.text("hello text");
.image(Uri.parse("https://media-mediatemple.netdna-ssl.com/wp-content/uploads/2016/01/07-responsive-image-example-castle-7-opt.jpg"));
builder.show();
Agregar dependencias en el archivo gradle
compile(''com.twitter.sdk.android:twitter:1.8.0@aar'') {
transitive = true;
}
Esto es lo que necesitas
intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file);
Llamar :
new PostPicture(MyActivity.this).execute("IMAGE_URL");
Foto de la publicación:
private class PostPicture extends AsyncTask<String, Void, File> {
private final Context context;
public PostPicture(Context context) {
this.context = context;
}
@Override
protected File doInBackground(String... params) {
FutureTarget<File> future = Glide.with(getApplicationContext())
.load(params[0])
.downloadOnly(600, 600);
File file = null;
try {
file = future.get();
} catch (Exception e) {
e.printStackTrace();
}
return file;
}
@Override
protected void onPostExecute(File result) {
if (result == null) {
return ;
}
Uri uri = FileProvider.getUriForFile(getApplicationContext(),
getApplicationContext().getPackageName(), result);
postIt(uri);
}
private void postIt(Uri result) {
TweetComposer.Builder builder = new TweetComposer.Builder(this)
.text("Post Image from URl.")
.image(result);
builder.show();
}
}