Android 推特后活动问题
这一意图已经停止了工作。它工作了2个月 2个月前,类名已从“com.twitter.android.PostActivity”更改为“com.twitter.applib.PostActivity”。我想它又变了。是一次又一次的改变吗 有人能帮我发推特吗 对我的英语很抱歉Android 推特后活动问题,android,android-intent,twitter,Android,Android Intent,Twitter,这一意图已经停止了工作。它工作了2个月 2个月前,类名已从“com.twitter.android.PostActivity”更改为“com.twitter.applib.PostActivity”。我想它又变了。是一次又一次的改变吗 有人能帮我发推特吗 对我的英语很抱歉 try { getPackageManager().getPackageInfo( "com.twitter.an
try {
getPackageManager().getPackageInfo(
"com.twitter.android", 0);
Intent twitterIntent = new Intent(
Intent.ACTION_VIEW);
String twitterVersionName = getPackageManager()
.getPackageInfo("com.twitter.android",
0).versionName;
VersionControl currentVersion = new VersionControl(
twitterVersionName);
VersionControl requestedVersion = new VersionControl(
"4.1.9");
if (currentVersion.compareTo(requestedVersion) > -1) {
twitterIntent.setClassName(
"com.twitter.android",
"com.twitter.applib.PostActivity");
} else {
twitterIntent.setClassName(
"com.twitter.android",
"com.twitter.android.PostActivity");
}
twitterIntent.putExtra(Intent.EXTRA_TEXT,
tweetText);
startActivity(twitterIntent);
} catch (NameNotFoundException e) {
try {
startActivity(new Intent(
Intent.ACTION_VIEW,
Uri.parse("https://twitter.com/intent/tweet?source=webclient&text="
+ URLEncoder.encode(
tweetText, "UTF-8"))));
} catch (UnsupportedEncodingException e1) {
e1.printStackTrace();
}
}
Twitter将“com.Twitter.applib.PostActivity”更改为“com.Twitter.applib.composer.textfirstComposer活动”您不需要搜索确切的名称,您可以这样尝试
Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setType("*/*");
shareIntent.putExtra(Intent.EXTRA_TEXT, "Your text here");
shareIntent.putExtra(Intent.EXTRA_STREAM, screenShot);
String appName = "twitter";
// use also instagram, pinterest, mail etc for appName.(not facebook)
final PackageManager pm = _activity.getPackageManager();
final List<?> activityList = pm.queryIntentActivities(shareIntent, 0);
int len = activityList.size();
Log.d("Tag","Length: "+len);
for (int i = 0; i < len; i++)
{
final ResolveInfo app = (ResolveInfo) activityList.get(i);
Log.d("Apps on share list: "+ app.activityInfo.name);
if ((app.activityInfo.name.contains(appName)))
{
Log.d("Tag","Found package: "+app.activityInfo.name);
final ActivityInfo activity = app.activityInfo;
final ComponentName name = new ComponentName(activity.applicationInfo.packageName, activity.name);
shareIntent.setComponent(name);
//TODO change your activity here
_activity.startActivityForResult(shareIntent,SHARE_REQUEST_CODE);
return;
}
}
// not found so make default redirecting
Log.d("Tag","Not Found package: ");
Intent shareIntent=新的意图(Intent.ACTION\u SEND);
shareIntent.setType(“*/*”);
shareIntent.putExtra(Intent.EXTRA_TEXT,“此处为您的文本”);
shareIntent.putExtra(Intent.EXTRA_流,屏幕截图);
字符串appName=“twitter”;
//也可以使用instagram、pinterest、mail等作为appName(而不是facebook)
最终PackageManager pm=_activity.getPackageManager();
最终列表activityList=pm.querytentActivities(shareIntent,0);
int len=activityList.size();
对数d(“标签”,“长度:+len”);
对于(int i=0;i
谢谢,它现在可以工作了,但我要问你,它还会改变吗?您是如何发现的?您可以通过以下代码找到您的所有活动:Intent Intent=newintent(Intent.ACTION\u SEND);intent.putExtra(intent.EXTRA_文本、消息);intent.setType(“文本/普通”);PackageManager pm=Activity.this.getPackageManager();List activityList=pm.querytentActivities(intent,0);对于(int i=0;我不知道它是否会再次更改抱歉,我也有同样的问题!谢谢@nexx我解决了我的问题。我正在浏览器上打开twitter。我认为它更健康。再次感谢。