Обнаружение Sharer, используемого для обмена некоторым контентомAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Обнаружение Sharer, используемого для обмена некоторым контентом

Сообщение Anonymous »

В приложении, над которым я сейчас работаю, мне нужно знать, что «action_send sharer» (Twitter, Facebook, SMS, электронная почта ...) пользователь использовал для обмена контентом для регистрации его в статистических целях. Есть ли в любом случае, чтобы сделать это? Для этого последнего шага, я полагаю, мне нужно знать общее действие каждого целевого приложения. private void shareItem(String title, String link) {
// Standard message to send
String msg = title + " " + link;

Intent share = new Intent(Intent.ACTION_SEND);
share.setType("text/plain");

List resInfo = getPackageManager().queryIntentActivities(share, 0);
if (!resInfo.isEmpty()) {
List targetedShareIntents = new ArrayList();
Intent targetedShareIntent = null;

for (ResolveInfo resolveInfo : resInfo) {
String packageName = resolveInfo.activityInfo.packageName;
targetedShareIntent = new Intent(android.content.Intent.ACTION_SEND);
targetedShareIntent.setType("text/plain");

// Find twitter: com.twitter.android...
if ("com.twitter.android".equals(packageName)) {
targetedShareIntent.putExtra(android.content.Intent.EXTRA_TEXT, msg);
} else if ("com.google.android.gm".equals(packageName)) {
targetedShareIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, title);
targetedShareIntent.putExtra(android.content.Intent.EXTRA_TEXT, Uri.encode(title + "\r\n" + link));
} else if ("com.android.email".equals(packageName)) {
targetedShareIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, title);
targetedShareIntent.putExtra(android.content.Intent.EXTRA_TEXT, Uri.encode(title + "\n" + link));
} else {
// Rest of Apps
targetedShareIntent.putExtra( android.content.Intent.EXTRA_TEXT, msg);
}

targetedShareIntent.setPackage(packageName);
targetedShareIntents.add(targetedShareIntent);
}

Intent chooserIntent = Intent.createChooser(targetedShareIntents.remove(0), getResources().getString(R.string.share));
chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, targetedShareIntents.toArray(new Parcelable[] {}));
startActivityForResult(chooserIntent, 0);
}
}


Подробнее здесь: https://stackoverflow.com/questions/125 ... me-content
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»