Где список доступных намерений в Android? - PullRequest
8 голосов
/ 10 ноября 2009

Я начинаю изучать, как разрабатывать приложения для Android, и у меня возникают некоторые проблемы с намерениями - просто не похоже, что они документированы вообще . Все, что я хочу сделать, это отправить пользователя на видеомагнитофон, где они записывают видео, и информация о видео возвращается в мое приложение. Я знаю, что это возможно, как я видел в других приложениях, но похоже, что намерение недокументировано (или я просто не совсем понимаю, как работают намерения).

Есть мысли?

Ответы [ 4 ]

11 голосов
/ 12 июля 2012

Помимо приведенных выше решений, вот список общих намерений

// показать намерение веб-страницы:

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

// показать намерение карт:

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

// показать пути

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

// вызов программы набора

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

// отправить смс / ммс, вызвать программу-отправитель

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

// отправить смс

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

// отправить ммс

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

// отправить письмо

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

// воспроизведение мультимедиа

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

// Uninstall

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

// удалить apk

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

// установить apk

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

// воспроизведение звука

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

// отправить дополнительно

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

// поиск

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  

// показать страницу сведений о программе

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

// поиск в Google

Intent intent = new Intent();
intent.setAction(Intent.ACTION_WEB_SEARCH);
intent.putExtra(SearchManager.QUERY,"searchString")
startActivity(intent);
8 голосов
/ 10 ноября 2009

В общем, документы для разработчиков под Android - отличное место для поиска подобных вещей: в справочнике по классу Intent есть список общих действий с намерениями. Для записи видео проверьте действие намерения ACTION_VIDEO_CAPTURE, определенное поставщиком мультимедиа.

5 голосов
/ 10 ноября 2009

Вы можете проверить OpenIntents

2 голосов
/ 11 июля 2014

Это относительно новый от Google (они, кажется, обновили свою старую страницу, которая только что показывала Intents для стандартных приложений Google).

Общие намерения

В нем указана точная Intent спецификация для выполнения широкого спектра действий с приложениями для следующего:

  • Будильник
  • Камера
  • Календарь
  • Контакты / Люди
  • E-mail
  • Хранение файлов
  • Карты
  • Музыка / Видео
  • Phone Dialer
  • Настройки
  • Текстовые сообщения
  • просмотр веб-страниц

Теперь важно, чтобы Google предоставил окончательный список Intent, которые должны использоваться для выполнения определенного действия, и мы используем их в точности так, как указано там. Причина Intent заключается в стандартном методе связи между приложениями (т.е. разными разработчиками), поэтому для совместимости вашего приложения важно говорить на точно на том же языке, что и все остальные будут использовать.

...