Frage

Ich fange an zu lernen, wie man Anwendungen für Android zu entwickeln, und ich einige Probleme mit Absichten haben - es ist nicht nur scheinen, wie sie dokumentiert sind bei allen . Alles, was ich tun möchte, ist der Benutzer an den Videorecorder senden, wo sie ein Video, und die Videodaten wieder in meine App aufzunehmen. Ich weiß, dass dies möglich ist, wie ich es in anderen Anwendungen gesehen habe, aber es scheint, als ob es die Absicht, ohne Papiere ist (oder ich bin nur nicht ganz zu verstehen, wie Absichten funktionieren).

Alle Gedanken?

War es hilfreich?

Lösung

Im Allgemeinen ist der Android-Entwickler docs ist ein guter Ort für diese Art der Sache zu suchen: Es gibt eine Liste von gemeinsamen Absichts Aktionen in dem Intent Klassenreferenz . Für Videoaufzeichnung Besuche die ACTION_VIDEO_CAPTURE Absicht Aktion durch die definierte Medienanbieter.

Andere Tipps

Neben oben genannten Lösungen, sind hier eine Liste der häufigsten Absichten

// zeigen Webseite Absicht:

Uri uri = Uri.parse("http://www.google.com");
Intent it  = new Intent(Intent.ACTION_VIEW,uri);
startActivity(it);

// Show Karten Absicht:

Uri uri = Uri.parse("geo:38.899533,-77.036476");
Intent it = new Intent(Intent.Action_VIEW,uri);
startActivity(it); 

// zeigen Wege

Uri uri = Uri.parse("http://maps.google.com/maps?f=d&saddr=startLat%20startLng&daddr=endLat%20endLng&hl=en");
Intent it = new Intent(Intent.ACTION_VIEW,URI);
startActivity(it);

// Anruf Wahlprogramm

Uri uri = Uri.parse("tel:xxxxxx");
Intent it = new Intent(Intent.ACTION_DIAL, uri);  
startActivity(it);  

Uri uri = Uri.parse("tel.xxxxxx");
Intent it =new Intent(Intent.ACTION_CALL,uri);
//don't forget add this config:<uses-permission id="android.permission.CALL_PHONE" />

// senden SMS / MMS, Anruf Senderprogramm

Intent it = new Intent(Intent.ACTION_VIEW);   
it.putExtra("sms_body", "The SMS text");   
it.setType("vnd.android-dir/mms-sms");   
startActivity(it);  

// SMS senden

Uri uri = Uri.parse("smsto:0800000123");   
Intent it = new Intent(Intent.ACTION_SENDTO, uri);   
it.putExtra("sms_body", "The SMS text");   
startActivity(it);  

// MMS

Uri uri = Uri.parse("content://media/external/images/media/23");   
Intent it = new Intent(Intent.ACTION_SEND);   
it.putExtra("sms_body", "some text");   
it.putExtra(Intent.EXTRA_STREAM, uri);   
it.setType("image/png");   
startActivity(it); 

// E-Mail

Uri uri = Uri.parse("mailto:xxx@abc.com");
Intent it = new Intent(Intent.ACTION_SENDTO, uri);
startActivity(it);

Intent it = new Intent(Intent.ACTION_SEND);   
it.putExtra(Intent.EXTRA_EMAIL, "me@abc.com");   
it.putExtra(Intent.EXTRA_TEXT, "The email body text");   
it.setType("text/plain");   
startActivity(Intent.createChooser(it, "Choose Email Client"));  

Intent it=new Intent(Intent.ACTION_SEND);     
String[] tos={"me@abc.com"};     
String[] ccs={"you@abc.com"};     
it.putExtra(Intent.EXTRA_EMAIL, tos);     
it.putExtra(Intent.EXTRA_CC, ccs);     
it.putExtra(Intent.EXTRA_TEXT, "The email body text");     
it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text");     
it.setType("message/rfc822");     
startActivity(Intent.createChooser(it, "Choose Email Client"));   


//add extra
Intent it = new Intent(Intent.ACTION_SEND);   
it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text");   
it.putExtra(Intent.EXTRA_STREAM, "file:///sdcard/mysong.mp3");   
sendIntent.setType("audio/mp3");   
startActivity(Intent.createChooser(it, "Choose Email Client"));

// spielen Medien

Intent it = new Intent(Intent.ACTION_VIEW);
Uri uri = Uri.parse("file:///sdcard/song.mp3");
it.setDataAndType(uri, "audio/mp3");
startActivity(it);

Uri uri = Uri.withAppendedPath(MediaStore.Audio.Media.INTERNAL_CONTENT_URI, "1");   
Intent it = new Intent(Intent.ACTION_VIEW, uri);   
startActivity(it);  

// Deinstallieren

Uri uri = Uri.fromParts("package", strPackageName, null);   
Intent it = new Intent(Intent.ACTION_DELETE, uri);   
startActivity(it);

// Deinstallation apk

Uri uninstallUri = Uri.fromParts("package", "xxx", null);
returnIt = new Intent(Intent.ACTION_DELETE, uninstallUri);

// installieren apk

Uri installUri = Uri.fromParts("package", "xxx", null);
returnIt = new Intent(Intent.ACTION_PACKAGE_ADDED, installUri);

// play audio

Uri playUri = Uri.parse("file:///sdcard/download/everything.mp3");
returnIt = new Intent(Intent.ACTION_VIEW, playUri);

// zusätzliche senden

Intent it = new Intent(Intent.ACTION_SEND);  
it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text");  
it.putExtra(Intent.EXTRA_STREAM, "file:///sdcard/eoe.mp3");  
sendIntent.setType("audio/mp3");  
startActivity(Intent.createChooser(it, "Choose Email Client"));

// search

Uri uri = Uri.parse("market://search?q=pname:pkg_name");  
Intent it = new Intent(Intent.ACTION_VIEW, uri);  
startActivity(it);  
//where pkg_name is the full package path for an application  

// Show-Programm Detailseite

Uri uri = Uri.parse("market://details?id=app_id");  
Intent it = new Intent(Intent.ACTION_VIEW, uri);  
startActivity(it);  
//where app_id is the application ID, find the ID  
//by clicking on your application on Market home  
//page, and notice the ID from the address bar

// search google

Intent intent = new Intent();
intent.setAction(Intent.ACTION_WEB_SEARCH);
intent.putExtra(SearchManager.QUERY,"searchString")
startActivity(intent);

Sie möchten, um überprüfen Open

Das von Google ist relativ neu (sie scheinen ihre alte Seite zu haben, aktualisiert die nur Intents für Standard-Google-Apps zeigte).

Gemeinsame Intents

Es sagt Ihnen genau Intent Spezifikation für eine breite Palette von Aktionen mit Apps für den folgenden ausführen:

  • Wecker
  • Kamera
  • Kalender
  • Kontakte / Leute
  • E-Mail
  • File Storage
  • Karten
  • Musik / Video
  • Wählhilfe
  • Einstellungen
  • SMS
  • Web-Browsing

Es ist wichtig, jetzt, dass Google eine endgültige Liste der Intents zur Verfügung gestellt haben, die für die Durchführung einer bestimmten Aktion verwendet werden soll, dass wir sie genau verwenden, wie es vorgesehen ist. Die Argumentation hinter Intents dreht sich alles um eine Standardmethode der Kommunikation zwischen Anwendungen (dh verschiedene Entwickler), so ist es wichtig, im Interesse der App-Kompatibilität in sprechen genau die gleiche Sprache wie die alle anderen verwenden wird.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top