2009-11-10 13 views
8

Zaczynam się uczyć, jak tworzyć aplikacje na system Android, i mam pewne problemy z intencjami - po prostu nie wygląda na to, że są one udokumentowane na wszystkich. Wszystko, co chcę zrobić, to wysłać użytkownika do rejestratora wideo, w którym nagrywa wideo, a informacje o filmie są zwracane do mojej aplikacji. Wiem, że jest to możliwe, ponieważ widziałem to w innych aplikacjach, ale wydaje się, że intencja jest nieudokumentowana (lub po prostu nie do końca rozumiem, jak działają intencje).Gdzie jest lista dostępnych zamiarów w systemie Android?

Jakieś myśli?

+0

Istnieje teraz ładna kolekcja Google: https://developer.android.com/guide/components/intents-common.html –

Odpowiedz

8

Ogólnie rzecz biorąc, dokumenty dla programistów Androida są dobrym miejscem do szukania tego typu rzeczy: istnieje lista typowych działań intencyjnych w Intent class reference. Aby nagrać wideo, sprawdź akcję intencjizdefiniowaną przez dostawcę multimediów.

+0

Wow, nie mogę ci powiedzieć, jak długo trwała ta ostatnia noc , dzięki! –

5

Możesz chcieć sprawdzić OpenIntents

+2

Ta domena już nie istnieje. – Thor84no

+0

domena istnieje, strona nie jest, http://www.openintents.org –

11

Oprócz powyższych rozwiązań, oto lista wspólnych zamiarów

// pokaz strona intencją:

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

// pokaz mapy intencyjny :

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

// przedstawiają sposoby

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); 

// telefoniczne wezwanie Program

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" /> 

// wyślij SMS/MMS, zadzwoń Program nadawca

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

// wyślij SMS

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

// Wyślij 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); 

// wysłać email

Uri uri = Uri.parse("mailto:[email protected]"); 
Intent it = new Intent(Intent.ACTION_SENDTO, uri); 
startActivity(it); 

Intent it = new Intent(Intent.ACTION_SEND); 
it.putExtra(Intent.EXTRA_EMAIL, "[email protected]"); 
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={"[email protected]"};  
String[] ccs={"[email protected]"};  
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")); 

// odtwarzać

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); 

// Odinstaluj

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

// odinstalować apk

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

// zainstalować apk

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

// odtwarzać dźwięk

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

// wysłać dodatkową

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")); 

// wyszukiwania

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 

// Pokaż szczegóły strony

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 

// wyszukiwarka google

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

Jest to stosunkowo nowy od Google (wydaje się, że ich stary strona aktualizowana który właśnie pokazał intencjami dla standardowych aplikacji Google).

Common Intents

Mówi pan dokładne Intent specyfikację do wykonywania szerokiego zakresu działań z aplikacjami za:

  • budzik
  • Camera
  • Kalendarz
  • Kontakt/Ludzie
  • Email
  • Storage File
  • Mapy
  • Muzyka/Wideo
  • Phone Dialer
  • Ustawienia
  • Wiadomości tekstowe
  • przeglądanie stron WWW

Teraz ważne, że Google dostarczyły ostateczną listę Intent s, które powinny być użyte do wykonania danej czynności, że używamy ich dokładnie tak, jak pod warunkiem tam. Rozumowanie Intent dotyczy standardowej metody komunikacji między aplikacjami (tj. Różnych programistów), dlatego ważne jest, aby ze względu na kompatybilność aplikacji mówić w tym samym języku, co wszyscy użytkownicy.

Powiązane problemy