[Android] Browser mit Parameter öffnen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Gerhard.S
User
Beiträge: 23
Registriert: Donnerstag 26. Juni 2014, 17:12

Hallo und schon wieder eine dumme Frage:

das ganze soll bei (XBMC) Python 2.6 funktionieren
Ich habe schon in deutschen XBMC Foren und auch bei XBMC selbst im Forum gepostet, keiner hat eine Ahnung
laut XBMC sollte es mit eigenen Bordmitteln gehen - tuts aber auch nicht -> StartAndroidActivity(package,[intent,dataType,dataURI])
und keiner kann erklären wie die Parameter aussehen sollen, ohne Parameter öffnet der Browser

jetzt versuche ichs bei den wirklichen Profis, den XBMC läuft ja auch mit Python

wie öffne ich unter Android den Standard Browser mit Vorgabe der Startseite
unter Win7 ist es ja easy -> webbrowser.open_new('http://google.de') - bei Android machts nur nen Bildschirm-Zuckler auf dem Monitor

gruß Gerhard
jerch
User
Beiträge: 1669
Registriert: Mittwoch 4. März 2009, 14:19

Also das tut bei mir:

Code: Alles auswählen

Intent webpage = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.de"));
startActivity(webpage);
Hab kein XBMC, daher weiss ich nicht, ob das vllt. dazwischenfunkt.

Alternativ könnte man den Browser noch in die eigene Activity reinholen, in dem man einen Webview öffnet.
Gerhard.S
User
Beiträge: 23
Registriert: Donnerstag 26. Juni 2014, 17:12

also so funkts nicht bei XBMC, kommt syntax error bei mir, werde später noch weiter testen
danke erstmal
BlackJack

@Gerhard.S: Das war ja auch kein Python. ;-)
Gerhard.S
User
Beiträge: 23
Registriert: Donnerstag 26. Juni 2014, 17:12

@BlackJack
ich habe es auch mit StartAndroidActivity aus xbmc versucht da es nahezu gleiche Parameter sind (siehe mein 1.Post)
haste nen anderen Vorschlag, wie es mit Python geht, normalerweise sollte doch webbrowser.open gehen, oder irre ich mich
BlackJack

@Gerhard.S: Das `webbrowser`-Modul ist plattformabhängig. Im offiziellen CPython ist Android als Plattform nicht vorgesehen.

Das `StartAndroidActivity()` annähernd die gleichen Parameter hat nützt irgendwie nicht viel wenn der einzige nicht-optionale Parameter der Package-Name der Anwendung ist die man starten möchte und das in dem anderen Beispiel das ist was man gerade *nicht* angeben möchte, weil man es gar nicht weiss und auch gar nicht wissen möchte.
Gerhard.S
User
Beiträge: 23
Registriert: Donnerstag 26. Juni 2014, 17:12

das habe ich mir mittlerweile fast gedacht 'plattformabhängig' nur das ich es auch in XBMC importieren kann ohne Fehlermeldung (import webbrowser)
nach dem du mir im letzten Thread das begreiflich gemacht hast.
Ich denke auch das es diese Funktion noch gar nicht im XBMC Android gibt, denn keiner weiß was in den speziellen Foren von XBMC
wenn ich z.B nur StartAndroidActivity() mit dem com.android.browser ausführe macht der Browser auch auf, aber nicht mit Vorgabe einer Startseite

noch ne Frage zu dem Thema wenn wir schon bei Plattformen gelandet sind, webbrowser.open funktioniert auf welchen Systemen ->
Windows, Linux ist klar, richtig? wie sieht es aus mit OSX IOS ATV2 - da habe ich leider keine Geräte zum testen

aber bevor ich da nen Fehler produziere gebe ich leichter eine Hinweismeldung raus, denn der Hinweis ->Scriptfehler sieht immer so sch... aus
habe mir sowieso angewöhnt Fehler abzufangen und eine Beschreibung des Fehlers auszugeben, es kommen auch weniger Nachfragen
gruß Gerhard


und sorry für evtl. dumme Anfängerfragen
jerch
User
Beiträge: 1669
Registriert: Mittwoch 4. März 2009, 14:19

@Gerhard.S:
Ja der Code oben ist Java, mir war nicht klar, das XMBC komplett über Python gesteuert wird. Allerdings muss XMBC selbst irgendwie an die Android-Java-API gehangen sein, evtl. wirst Du dort fündig. Ich kenne XMBC und dessen Python nicht - wie das denn implementiert? Ist das CPython oder gar Jython auf Dalvik?
Als Anhaltspunkt kann sicher die Implementation von `StartAndroidActivity()` dienen.
BlackJack

@Gerhard.S: Das man das Modul importieren kann, heisst ja nicht das es auch funktionieren muss. Wenn kein Code im Modul ist das die entsprechende Plattform unterstützt oder wenn überhaupt kein Browser installiert ist, was ja auch auf einer Plattform wie Linux durchaus passieren kann, dann funktioniert `webbrowser.open()` natürlich nicht. Ich gehe mal davon aus, dass die bei Android einfach das normale CPython als Basis verwendet haben und damit auch dessen Standardbibliothek. Wenn sie dort nichts im `webbrowser`-Modul hinzugefügt haben um einen Browser speziell unter Android zu starten, dann funktioniert's natürlich nicht. Kannst ja einen Bug bei Android XBMC deswegen melden.

Das Modul hat keine einschränkenden Bemerkungen in der Dokumentation, also denke ich mal die Plattformen für die es Binaries von Python.org gibt, werden unterstützt. Wahrscheinlich auch noch OS/2 wenn das Modul alt genug ist.

@jerch: Also auf normalen Betriebsystemen (Linux :-)) verwendet XBMC einfach das normale CPython vom System. Keine Ahnung was Android XBMC macht. Aber ich vermute mal das gleiche. XBMC selbst ist in C++ geschrieben.
Gerhard.S
User
Beiträge: 23
Registriert: Donnerstag 26. Juni 2014, 17:12

kleiner Zwischenstand

@BlackJack
ist kein Bug von XBMC sondern wurde einfach in der Version 2.6 noch nicht bei Python implementiert
und ja es wird CPython verwendet

ich habe jetzt eine modifizierte webbrowser.py von SL4 Projekt verwendet, webbrowser_open läuft durch , ok
dann brauchte ich noch die android.py (gibts bei XBMC nicht), da läufts auch durch ,ok
jetzt bleibt es noch in der socket.py hängen mit dem Fehler : gaierror 8 - zeile ~500 - for res in getaddrinfo(host, port, 0, SOCK_STREAM):
volle Adresse habe ich angegeben (http://www.google.de)

bis jetzt habe ich noch keinen Schimmer, aber ich komme noch dahinter, aufgeben gibts nicht 8)
sollte jemand einen Tip dazu habe her damit

gruß Gerhard
Gerhard.S
User
Beiträge: 23
Registriert: Donnerstag 26. Juni 2014, 17:12

nochmal eine super dumme Frage,

ich kann mit Python 2.6 Android jegliche Art von Daten aus dem Web ziehen, ganze Quelltexte aus einer Page ziehen,
aber keine Homepage öffnen

Wie macht ihr das wenn ihr eine popel einfache Verlinkung zu einer Homepage wollt?
Dazu ist doch eigentlich webbrowser_open da, oder bin ich auf der ganz verkehrten Spur um eine HP zu öffnen?

gruß Gerhard
Antworten