Próbuję załadować adres URL Twittera w przeglądarce.Jak wykluczyć określoną aplikację ze wzmianki ACTION_VIEW?
W moim telefonie zainstalowałem również aplikację Twitter. Próbuję otworzyć adres URL, używając intencji ACTION_VIEW
. Ale co się stanie, kiedy wezwę intencję, Android pokaże domyślne okno dialogowe wyboru, które zawiera również aplikację Twitter (jeśli jest zainstalowana na urządzeniu). Chcę otworzyć adres URL tylko przy użyciu przeglądarek. Chcę wykluczyć aplikację Twitter z okna dialogowego. Chcę, aby wszystkie dostępne przeglądarki w urządzeniu wyświetlały się w oknie dialogowym, a nie aplikacje natywne, takie jak twitter, facebook itp.
Czy to możliwe, czy nie? Jeśli to możliwe, ktoś może mi pomóc w osiągnięciu tego. Załączam również mój kod i zrzut ekranu wraz z tym pytaniem dla jasności.
String url = "https://twitter.com";
MimeTypeMap map = MimeTypeMap.getSingleton();
String type = map.getMimeTypeFromExtension(url);
Intent i = new Intent(Intent.ACTION_VIEW);
i.setType(type);
i.setData(Uri.parse(url));
startActivity(i);
Bez różnicy, wciąż pokazuje ten sam widok. Wprowadziłem niewielką zmianę do twojego kodu. nie wiem, czy jest to potrzebne, czy nie. To pokazuje prawie wszystkie aplikacje w moim urządzeniu. –
tutaj jest zmodyfikowany kod. Skomentowałem ustawienie danych i typu. String url = "https://twitter.com"; Mapa MimeTypeMap = MimeTypeMap.getSingleton(); Typ ciągu = map.getMimeTypeFromExtension (url); \t \t Intent i = new Intent (Intent.ACTION_VIEW); \t \t //i.setType(type); \t \t //i.setData(Uri.parse(url)); \t \t // ComponentName comp = new Nazwa komponentu ("com.android.browser", "com.android.browser.BrowserActivity"); \t \t ComponentName comp = new Intent (type, Uri.parse (url)). ResolveActivity (this. GetPackageManager()); \t \t i.setComponent (comp); \t \t i.setFlags (Intent.FLAG_ACTIVITY_NEW_TASK); \t \t startActivity (i); –
cóż, twój kod nie będzie działać. wypróbuj moje wcześniej. – flx