Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/207.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用ACTION_SEND向twitter发送短消息,向gmail发送长消息_Android_Facebook_Twitter_Gmail_Android Intent - Fatal编程技术网

Android 使用ACTION_SEND向twitter发送短消息,向gmail发送长消息

Android 使用ACTION_SEND向twitter发送短消息,向gmail发送长消息,android,facebook,twitter,gmail,android-intent,Android,Facebook,Twitter,Gmail,Android Intent,使用ACTION_SEND可以向各种共享服务(如gmail、facebook、twitter等)发布消息。大多数服务的消息长度都相当长,但twitter的消息长度特别短(140个字符) 如果事先不知道用户在Intent.createChooser()对话框出现后将选择哪种服务,是否有一种方法可以构建一个Intent,它将为twitter发送一条短消息,但为其他服务发送一条长消息?可能您可以尝试在应用程序中将与twitter共享分离作为一个选项。在某些编辑文本框中从应用程序内部获取文本,验证并检查

使用ACTION_SEND可以向各种共享服务(如gmail、facebook、twitter等)发布消息。大多数服务的消息长度都相当长,但twitter的消息长度特别短(140个字符)


如果事先不知道用户在Intent.createChooser()对话框出现后将选择哪种服务,是否有一种方法可以构建一个Intent,它将为twitter发送一条短消息,但为其他服务发送一条长消息?

可能您可以尝试在应用程序中将与twitter共享分离作为一个选项。在某些编辑文本框中从应用程序内部获取文本,验证并检查其是否少于140个字符,然后发送文本。即使在这种情况下,当您调用
ACTION\u SEND
时,用户也可以看到所有选项,但这些选项至少限制为140个字符

Intent i=new Intent(android.content.Intent.ACTION_SEND);
i.setType("text/plain");
i.putExtra(Intent.EXTRA_SUBJECT, R.string.share_subject);
i.putExtra(Intent.EXTRA_TEXT, ...);
startActivity(Intent.createChooser(i, R.string.share_title));

您还可以尝试使用Bit-ly API来缩短发布在twitter上的URL

谢谢,这类似于我已经想到的解决方案,即使用两个具有不同意图的不同按钮(一个用于twitter,一个用于其他所有内容),然后在第二个按钮中使用缩短的文本。但twitter将在第一时间显示为发送选项,这并不理想。虽然该选项显示在那里,但用户从该页面选择twitter客户端的可能性将非常小,因为他没有选择该选项…如果他选择了,那将是他的错。因为我们没有直接方法来选择可以在twitter上发布消息的应用程序,所以我们没有移交该选项。。。也许未来的SDK可以为我们提供这样的选择。有些用户可能知道:)@DeRagan Twitter使用t.co域自动缩短URL。因此,您发布的url不会计算其整个长度