Loading the player...
X

Anmelden

Passwort vergessen?

... oder mit Facebook anmelden:

Du hast noch keinen Zugang zu AndroidPIT? Registrieren
Android Forum » Android Developer Forum » Android Entwickler Forum » Wie kann ich einen simulierten Tastendruck erzeugen?

Wie kann ich einen simulierten Tastendruck erzeugen?

Wie kann ich einen simulierten Tastendruck erzeugen?
verfasst am 13.04.2012 03:08:07
Hallo, ich arbeite seit längerem an einem Android Projekt das unter anderem eine Loginseite (PHP) aufruft. Die aufgerufene Seite soll automatisch mit 2 Parametern befüllt werden. In dem Feld "Benutzername eingeben:" soll der Benutzername eingetragen werden und im Feld "Passwort eingeben" soll das Passwort eingegeben werden.

Ich habe versucht das ganze mit HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost("http://....IP.../main/login.php");
zu realisieren aber es funktioniert nicht. Die App stürzt ab und bringt eine Fehlermeldung das dies nicht ausgeführt werden kann.

Nun versuche ich mich daran das über eine simulierte Tasteneingabe zu realisieren. In Java gibt es einen Robot befehl , der erkennt aber Android nicht. Ich habe lange recherchiert und komme auf keinen grünen Zweig wie ich diese 2 Parameter automatisch eintragen lassen kann damit sich der Benutzer automatisch einloggt.

Ich hoffe es kann mit jemand helfen

Mfg
Antworten mit Zitat Antworten Link ±0     (0 Stimmen)
RE: Wie kann ich einen simulierten Tastendruck erzeugen?
verfasst am 13.04.2012 07:58:11 (über AndroidPIT-App)
Hi, du kannst dein Problem mit dem HttpClient lösen. Der Absturz deiner App lag halt an deiner Implementierung. Wenn du den entsprechenden Code postest können wir eben drüber schauen.

Gruß,
Markus

-----
!!! BAZINGA !!!

Antworten mit Zitat Antworten Link ±0     (0 Stimmen)
RE: Wie kann ich einen simulierten Tastendruck erzeugen?
verfasst am 13.04.2012 09:20:16
1. das:
Markus B.
Der Absturz deiner App lag halt an deiner Implementierung. Wenn du den entsprechenden Code postest können wir eben drüber schauen.

und 2. einfach mal googlen. Dafür gibt es hunderte Beispiele im Netz.
Unter anderem hier: http://hc.apache.org/httpcomponents-client-ga/examples.html
Abschnitt "Form based logon"

-----
Verkaufswert Rechner -- Verkaufswert Rechner Online -- 1-Klick Kleinanzeigen -- MadMonitor -- AndroidPIT Dev Stats -- Directupload.net Image Sharer

Antworten mit Zitat Antworten Link ±0     (0 Stimmen)
RE: Wie kann ich einen simulierten Tastendruck erzeugen?
verfasst am 15.04.2012 20:57:09
Hier ist ein Code ausschnitt. Das Beispiel von dir gepostet habe ich ausprobiert , das funktioniert ebenfalls nicht.

public class PersHauptActivity extends Activity implements OnClickListener {


Button button_care2x;
Button button_terminplan;
Button button_patientendaten;
Button button_fachliteratur;
Button button_zimmerbelegung;


public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.pershaupt1);


button_care2x=(Button)findViewById(R.id.button_care2x);
button_care2x.setOnClickListener(this);

button_terminplan=(Button)findViewById(R.id.button_terminplan);
button_terminplan.setOnClickListener(this);

}

//startet index.php- nach 4 sek startet login.php- Einloggparameter werden ausgefüllt
public void onClick(View v) {


switch (v.getId())
{
case R.id.button_care2x:

Uri uri = Uri.parse("http://192.168.178.20/index.php");
Uri urilogin = Uri.parse("http://192.168.178.20/main/login.php");

Intent intent = new Intent(Intent.ACTION_VIEW, uri );
Intent intent1 = new Intent(Intent.ACTION_VIEW, urilogin );

startActivity(intent);
try {
Thread.sleep(10000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

startActivity(intent1);



try {
Thread.sleep(10000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// Hier liegt der Fehler

ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("Administrator","care2x@cbs"));

try{
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://192.168.178.20/main/login.php");
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
InputStream is = entity.getContent();
}catch(Exception e){

}
break;

Wäre dankbar für eure Hilfe.
Antworten mit Zitat Antworten Link ±0     (0 Stimmen)