未發現異常,我有以下代碼鳴叫從我的應用程序的東西:活動與Twitter
try {
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_TEXT,
"Blah blah blah");
final PackageManager pm = getPackageManager();
final List<?> activityList = pm
.queryIntentActivities(intent, 0);
int len = activityList.size();
for (int i = 0; i < len; i++) {
final ResolveInfo app = (ResolveInfo) activityList.get(i);
if ("com.twitter.android.PostActivity"
.equals(app.activityInfo.name)) {
intent.addCategory(Intent.CATEGORY_LAUNCHER);
intent.setClassName("com.twitter.android",
"com.twitter.android.PostActivity");
startActivity(intent);
break;
}
}
} catch (final ActivityNotFoundException e) {
onCreateDialog(NO_APP);
}
protected Dialog onCreateDialog(int id) {
Dialog dialog;
switch (id) {
case NO_APP: {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setIcon(R.drawable.icon_small);
builder.setTitle("Twitter");
builder.setMessage("No Twitter app found");
builder.setCancelable(false);
builder.setPositiveButton("OK", new Dialog.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
finish();
}
});
dialog = builder.create();
return dialog;
}
default:
return super.onCreateDialog(id);
}
}
如果安裝在手機上的Twitter,然後應用程序工作正常,並生成一個新的鳴叫。如果該應用程序不存在,我想要出現一個對話框,指出沒有應用程序。但是,到目前爲止,手機中沒有任何推特應用程序時沒有任何反應。當我按下我的應用程序上的推文按鈕時,什麼也沒有發生。在這種情況下,我需要做什麼來使對話框出現?
你想從你的應用程序執行官方的twitter應用程序嗎?你是否知道,無論你有沒有應用程序,都存在官方api來嘲諷某些東西? – Blackbelt