Подскажите пожалуйста в чем разница? я сейчас новичок в андройде и увидел два метода для шейра текста к примеру через:
Intent shareIntent = ShareCompat.IntentBuilder.from(this)
.setType("text/plain")
.setText("Hello world")
.getIntent();
и второй метод через:
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, textMessage);
sendIntent.setType("text/plain");
Подскажите пожалуйста в чем разница?
На самом деле различия только в удобстве. ShareCompat.IntentBuilder
предоставляет вам удобный интерфейс создания intent
-a.
Если заглянете в исходники IntentBuilder
то в конструкторе увидите следующее:
private IntentBuilder(Activity launchingActivity) {
mActivity = launchingActivity;
mIntent = new Intent().setAction(Intent.ACTION_SEND);
mIntent.putExtra(EXTRA_CALLING_PACKAGE, launchingActivity.getPackageName());
mIntent.putExtra(EXTRA_CALLING_ACTIVITY, launchingActivity.getComponentName());
mIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
}
В ходе работы с классом вы устанавливаете флаги intent
-a. Для примера setType
:
public IntentBuilder setType(String mimeType) {
mIntent.setType(mimeType);
return this;
}
И в результате возвращаете уже готовый intent
с помощью getIntent()
.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
У меня есть форма регистрацииНужно, чтобы если пользователь вводил имя, существующее в базе данных, ему выдавалась ошибка
У меня есть приложение, которое я подготовил для запуска в dokcer:
Нужно чтобы программа работала в фоновом режиме и с определенным интервалом отправляла смс сообщенияВот код службы