В дополнение к уже выбранному ответу (и различным информационным сообщениям здесь) я настоятельно рекомендую захватить копию Head First Design Patterns . Это очень простое чтение и ответит на ваш вопрос напрямую, объясните, почему это важно, и покажите вам много шаблонов программирования, которые вы можете использовать, чтобы использовать этот принцип (и другие).
Теперь моя проблема в том, что мне нужно имя приложения, в котором это изображение является общим
blockquote>Если ваш
minSdkVersion
равен 22 или выше, используйтеcreateChooser()
который принимаетIntentSender
в качестве третьего параметра , так как это ваш единственный способ узнать, что выбрал пользователь.Если ваш
minSdkVersion
ниже 22, вам нужно будет создать ваш собственный пользовательский интерфейс в стиле Chooser, используяPackageManager
иqueryIntentActivities()
, чтобы узнать, какие действия должны быть указаны в этом пользовательском интерфейсе.Я также создал свой собственный диалог, но проблема остается такой же
blockquote>Вы, конечно, знаете, что пользователь выбрал в диалоговом окне. Это все, что вы собираетесь получить с уровня API 22
createChooser()
.Потому что, когда я выбираю параметр для совместного доступа, например facebook, и я нажал кнопку «Назад», тогда изображение не является общим, и я знаю только, что пользователь нажимает на facebook.
blockquote>Конечно. Пользователь может делать то, что хочет пользователь в этом другом приложении. Пользователь не должен нажимать BACK; пользователь может просто не отправлять что-либо. То есть между пользователем и этим приложением & mdash; информация о том, что пользователь сделал что-либо, кто пользователь поделился информацией и т. д., недоступен для вас.