
рдкрд░рд┐рдЪрдп
рдЗрд░рд╛рджреЗ рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдВрдбреНрд░реЙрдЗрдб рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЗ рдмреАрдЪ рдпрд╛ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдмреАрдЪ рд╕рдВрдЪрд╛рд░ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрдВрдЯреЗрдВрд╕ рдореИрдХреЗрдирд┐рдЬреНрдо рдХреА рд╢рдХреНрддрд┐ рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рд╕реА рднреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рдХреБрдЫ рдШрдЯрдХреЛрдВ рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдФрд░ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╕рдордп рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рд╕рд┐рд╕реНрдЯрдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╢рдп рд╡рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреБрдЫ рд╕рдВрднрд╛рд╡рдирд╛рдПрдВ рджрд┐рдЦрд╛рдКрдВрдЧрд╛ред
рддреЛ рдЗрдВрдЯреЗрдВрдЯрд╛ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
1. рдмреБрд▓рд╛рдУ
Intent dialIntent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + "123456789")); startActivity(dialIntent);
рдЖрдкрдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рднреА рджреЗрдиреА рд╣реЛрдЧреА:
<uses-permission android:name="android.permission.CALL_PHONE" />
рдпрд╛ рдЖрдкрд╛рддрдХрд╛рд▓реАрди рдХреЙрд▓ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорддрд┐:
<uses-permission android:name="android.permission.CALL_PRIVILEGED" />
рдкрд╣рд▓реЗ рдкреИрд░рд╛рдореАрдЯрд░ рдкрд░
ACTION_DIAL рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд░рд╛рджреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдХреЗ рдХреЙрд▓ рднреА рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рдлреЛрди рдмреБрдХ рдЦреБрд▓ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рдХреЙрд▓ рдЦреБрдж рд╣реА рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдкреНрд░рдХрдЯ рдореЗрдВ рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
2. рдПрд╕рдПрдордПрд╕ рднреЗрдЬреЗрдВ
Intent smsIntent = new Intent(Intent.ACTION_VIEW); smsIntent.setType("vnd.android-dir/mms-sms"); smsIntent.putExtra("sms_body", "Some SMS text"); startActivity(smsIntent);
рдХреНрдпреЛрдВрдХрд┐ рдЪреВрдВрдХрд┐ рдпрд╣ рдХреЛрдб рд╕реАрдзреЗ рдПрд╕рдПрдордПрд╕ рдирд╣реАрдВ рднреЗрдЬрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрд╕рдПрдордПрд╕ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдирдХ рдЧрддрд┐рд╡рд┐рдзрд┐ рд▓реЙрдиреНрдЪ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдХрд┐рд╕реА рднреА рдЕрдиреБрдорддрд┐ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
3. рдлреЛрди рдмреБрдХ рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░реЗрдВ
Intent pickIntent = new Intent(Intent.ACTION_PICK, android.provider.ContactsContract.Contacts.CONTENT_URI); startActivityForResult(pickIntent, PICK_RESULT);
рдпрд╣ рдХреЛрдб рдорд╛рдирдХ рд╕рдВрдкрд░реНрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЦреЛрд▓реЗрдЧрд╛ред
StartActivityForResult рд╡рд┐рдзрд┐ рдЖрдкрдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд┐рдП рдЧрдП
onActivityResult рд╡рд┐рдзрд┐ рдХреЗ
рдЗрдВрдЯреЗрдВрдЯ рдбреЗрдЯрд╛ рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗ рдЪрдпрдирд┐рдд рд╕рдВрдкрд░реНрдХ рдХрд╛ uri рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред
рдЙрдкрд░реЛрдХреНрдд рдХреЛрдб рдПрдХ рдмрд╛рд░ рдореЗрдВ рд╕рдВрдкрд░реНрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕рднреА рд╕рдВрдкрд░реНрдХреЛрдВ рдХреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдореЗрд▓ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЛ рдлреЛрди рдмреБрдХ рд╕реЗ рдХреЗрд╡рд▓ рд╕рдВрдкрд░реНрдХ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдк рдирд┐рдореНрди рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
Intent pickIntent = new Intent(Intent.ACTION_GET_CONTENT); pickIntent.setType(ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE); startActivityForResult(pickIntent, PICK_RESULT);
рд╕рдВрдкрд░реНрдХ рд╕реВрдЪреА рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкреНрд░рдХрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рднреА рджреЗрдиреА рд╣реЛрдЧреА:
<uses-permission android:name="android.permission.READ_CONTACTS" />
4. рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рд▓рд┐рдВрдХ рдЦреЛрд▓реЗрдВ
Intent browseIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com")); startActivity(browseIntent);
рдпрд╣ рдХреЛрдб рд╕реНрдерд╛рдкрд┐рдд рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рджрд┐рдП рдЧрдП рд▓рд┐рдВрдХ рдХреЛ рдЦреЛрд▓реЗрдЧрд╛ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛ред рдпрджрд┐ рд▓рд┐рдВрдХ YouTube рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдк рддреБрд░рдВрдд рдорд╛рдирдХ YouTube рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рд╛рде рд╡реАрдбрд┐рдпреЛ рдЦреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВред
рдЗрд╕ рдЗрд░рд╛рджреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдЖрдк рдХрд┐рд╕реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдВрдХ рдХреЗ рд╕рд╛рде рдорд╛рдирдХ рдПрдВрдбреНрд░реЙрдЗрдб рдорд╛рд░реНрдХреЗрдЯ рдХреНрд▓рд╛рдЗрдВрдЯ рднреА рдЦреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдлрд╝реЙрд░реНрдо
рдмрд╛рдЬрд╝рд╛рд░ рдХрд╛ рд▓рд┐рдВрдХ рдкрд╛рд╕ рдХрд░рдирд╛ рд╣реЛрдЧрд╛
: // search? Q = uri рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ
рдЦреЛрдЬ рдХреНрд╡реЗрд░реА , рдЬрд╣рд╛рдБ
рдЦреЛрдЬ рдХреНрд╡реЗрд░реА рдХреЛ рд╕рдВрдмрдВрдзрд┐рдд рдЦреЛрдЬ рдХреНрд╡реЗрд░реА рд╕реЗ рдмрджрд▓рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЗрдВрдЯрд░рдиреЗрдЯ рдЕрдиреБрдорддрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдХреЗ рд░реВрдк рдореЗрдВ рдиреЗрдЯрд╡рд░реНрдХ рд╕реАрдзреЗ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗред
5. рд╕рд╛рдордЧреНрд░реА рд╕рд╛рдЭрд╛ рдХрд░реЗрдВ / рдПрдХ рдкрддреНрд░ рд▓рд┐рдЦреЗрдВ
Intent shareIntent = new Intent(Intent.ACTION_SEND); shareIntent.setType("text/plain"); shareIntent.putExtra(Intent.EXTRA_SUBJECT, "Content subject"); shareIntent.putExtra(Intent.EXTRA_TEXT, "Content text"); startActivity(Intent.createChooser(shareIntent, "Sharing something."));
рдЖрдк рдЬрд┐рд╕ рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЙрд╕рдХрд╛ рдЗрд░рд╛рджрд╛ рдФрд░ рд╡рд┐рд╖рдп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
Intent.createChooser () рд╡рд┐рдзрд┐ рдЙрдкрдпреБрдХреНрдд рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрд╡рд╛рдж рдмрдирд╛рддреА рд╣реИред
рдпрджрд┐ рдЖрдкрдХреЛ рдореАрдбрд┐рдпрд╛ рд╕рд╛рдордЧреНрд░реА (рдЫрд╡рд┐ / рд╡реАрдбрд┐рдпреЛ) рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рд╕реЗрдЯ рдЯрд╛рдЗрдк рд╡рд┐рдзрд┐ рдореЗрдВ рдЙрдкрдпреБрдХреНрдд рдкреНрд░рдХрд╛рд░ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП
mailIntent.setType ("image / png"); , рдФрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдЗрд░рд╛рджреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рдордЧреНрд░реА рдХреЛ рднреА рдЬреЛрдбрд╝реЗрдВ:
shareIntent.putExtra(Intent.EXTRA_STREAM, imageUri);
рдЗрд╕ рдЖрд╢рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдЖрдк рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрддреЗ рдкрд░ рдИрдореЗрд▓ рднреА рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВ:
shareIntent.putExtra(Intent.EXTRA_EMAIL, new String[] { mail });
6. рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдпрд╛ рдЕрдиреБрд░реЛрдз рджреНрд╡рд╛рд░рд╛ рдорд╛рдирдЪрд┐рддреНрд░ рдЦреЛрд▓реЗрдВ
String uri = "geo:"+ latitude + "," + longitude; Intent mapIntent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse(uri)); startActivity(mapIntent);
рдЗрд╕реА рд╕рдордп, рдЕрдиреНрдп рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдХреЗ рдЙрд░реА рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
- рднреВ: рдЕрдХреНрд╖рд╛рдВрд╢, рджреЗрд╢рд╛рдВрддрд░
- рднреВ: рдЕрдХреНрд╖рд╛рдВрд╢, рджреЗрд╢рд╛рдВрддрд░? z = рдЬрд╝реВрдо рдкреИрд░рд╛рдореАрдЯрд░ z - рдорд╛рдирдЪрд┐рддреНрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╕рдордп рдЬрд╝реВрдо рд╕реНрддрд░ - (0 рд╕реЗ 23 рддрдХ)
- рднреВ: 0,0? q = рдореЗрд░рд╛ + рд╕рдбрд╝рдХ + рдкрддрд╛
- рднреВ: 0,0? q = рд╡реНрдпрд╡рд╕рд╛рдп + рд╢рд╣рд░ рдХреЗ рдкрд╛рд╕
7. рдХреИрдорд░реЗ рд╕реЗ рддрд╕реНрд╡реАрд░ рд▓реЗрдВ
Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(cameraIntent, CAMERA_RESULT);
рдпрд╣ рдХреЛрдб рдорд╛рдирдХ рдХреИрдорд░рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдиреНрдЪ рдХрд░рддрд╛ рд╣реИред рдХреИрдорд░реЗ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдЫрд╡рд┐ рдХреЛ
onActivityResult рд╡рд┐рдзрд┐ рдореЗрдВ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == CAMERA_RESULT) { Bitmap thumbnail = (Bitmap) data.getExtras().get("data"); ImageView ivCamera = (ImageView) findViewById(R.id.iv_camera); ivCamera.setImageBitmap(thumbnail); } }
рдХреИрдорд░реЗ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдЫрд╡рд┐ рдХреЛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдЗрд░рд╛рджреЗ рд╕реЗ рдЬреЛрдбрд╝рдХрд░ рдмрдЪрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
File photo = new File(Environment.getExternalStorageDirectory(), "Pic.jpg"); cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(filePath)));
рдЗрд╕ рдЖрд╢рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ
android.permission.CAMERA рдХреА рдЕрдиреБрдорддрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХреИрдорд░рд╛ рд╕реАрдзреЗ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдХреИрдорд░рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдмрд╕ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рдЕрдиреБрд╢рдВрд╕рд╛ рдХреА рдЬрд╛рддреА рд╣реИ рдХрд┐ рдЖрдк AndroidManifest рдореЗрдВ рдирд┐рдореНрди рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝реЗрдВ:
<uses-feature android:name="android.hardware.camera"></uses-feature>
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдПрдХ рдПрдХреАрдХреГрдд рдХреИрдорд░рд╛ (рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдРрд╕рд╛ рднреА рд╣реЛрддрд╛ рд╣реИ) рдХреЗ рдмрд┐рдирд╛ рдЙрдкрдХрд░рдгреЛрдВ рд╡рд╛рд▓реЗ рд▓реЛрдЧ рдмрд╛рдЬрд╛рд░ рдкрд░ рдЖрдкрдХреЗ рдЖрд╡реЗрджрди рдХреЛ рдирд╣реАрдВ рджреЗрдЦреЗрдВрдЧреЗред
8. Skype рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд┐рд╕реА рднреА рд╕рдВрдкрд░реНрдХ рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВ
Skype рдЗрд░рд╛рджреЗ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЧрддрд┐рд╡рд┐рдзрд┐ рдХрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд╛рдо рдФрд░ рдЙрд╕ рдкреИрдХреЗрдЬ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬрд┐рд╕ рдкрд░ рд╡рд╣ рд╕рдВрдкрд░реНрдХ рдХрд░реЗрдЧрд╛ред рдпрд╣ рдХреЛрдб рдХреЛ рдереЛрдбрд╝рд╛ рдЬрдЯрд┐рд▓ рдХрд░рддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рд╕реНрдХрд╛рдЗрдк рдкреИрдХреЗрдЬ рдХреЗ рдирд╛рдо рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣реИрдВред рд╕реНрдХрд╛рдЗрдк рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рдХрд┐рд╕ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдпрд╣ рдЬрд╛рдВрдЪрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдФрд░ рдХреНрдпрд╛ рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рднреА рд╕реНрдерд╛рдкрд┐рдд рд╣реИред рдЖрдк рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрди рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
public static boolean isIntentAvailable(Context context, Intent intent) { final PackageManager packageManager = context.getPackageManager(); List<ResolveInfo> list = packageManager.queryIntentActivities( intent, PackageManager.MATCH_DEFAULT_ONLY); return list.size() > 0; }
рдпрд╣ рд╡рд┐рдзрд┐ рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рд╕рд┐рд╕реНрдЯрдо рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреА рд╣реИ рдЬреЛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЗрд░рд╛рджреЗ рдХрд╛ рдЬрд╡рд╛рдм рджреЗ рд╕рдХрддреА рд╣реИред рдЗрд╕ рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, Skype рдХреЙрд▓ рдХреЛрдб рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛:
private static final String SKYPE_PATH_GENERAL = "com.skype.raider"; private static final String SKYPE_PATH_OLD = "com.skype.raider.contactsync.ContactSkypeOutCallStartActivity"; private static final String SKYPE_PATH_NEW = "com.skype.raider.Main"; Intent skypeIntent = new Intent().setAction("android.intent.action.CALL_PRIVILEGED"); skypeIntent.setData(Uri.parse("tel:" + skype)); if (isIntentAvailable(context, skypeIntent.setClassName(SKYPE_PATH_GENERAL, SKYPE_PATH_NEW))) { context.startActivity(skypeIntent); } else if (isIntentAvailable(context, skypeIntent.setClassName(SKYPE_PATH_GENERAL, SKYPE_PATH_OLD))) { context.startActivity(skypeIntent); } else { Toast.makeText(context, " Skype .", Toast.LENGTH_LONG).show(); }
рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдХрд┐рд╕реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдПрдХ
рдПрдХреНрдЯрд┐рд╡рд┐рдЯреАрдиреЙрдЯрдлрд╝рд╛рдЙрдВрдб рдПрдХреНрд╕рд╕реЗрдкреНрд╢рди рдХреЛ рдкрдХрдбрд╝рдирд╛ рд╣реИ, рдЬреЛ
рд╕реНрдЯрд╛рд░реНрдЯрдСрдлрд╝рд┐рдЯреА рд╡рд┐рдзрд┐ рдореЗрдВ
рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
рдКрдкрд░ isIententAvailable рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ
, рдЖрдк рд╕рдордп рдкрд░ рдЙрдкрдпреБрдХреНрдд рдирд┐рдпрдВрддреНрд░рдг рдХреЛ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рд╕рдВрдмрдВрдзрд┐рдд рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ Android рдорд╛рд░реНрдХреЗрдЯ рдкрд░ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
9. рдЖрд╡рд╛рдЬ рдкрд╣рдЪрд╛рди рдХреЗ рд▓рд┐рдП рднрд╛рд╖рдг рд╕реЗ рдкрд╛рда рддрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
Intent speechIntent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); speechIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM); speechIntent.putExtra(RecognizerIntent.EXTRA_PROMPT, "Speak please"); startActivityForResult(speechIntent, RESULT_SPEECH_TO_TEXT);
рдпрд╣ рдХреЛрдб рдПрдХ рд╡рд╛рдХреН рдкрд╣рдЪрд╛рди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдиреНрдЪ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдХреБрдЫ рдХрд╣рддреЗ рд╣реИрдВ, рддреЛ рд╕рд┐рд╕реНрдЯрдо рдЖрд╡рд╛рдЬ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкрд░рд┐рдгрд╛рдо
onActivityResult рд╡рд┐рдзрд┐ рдкрд░ рд╡рд╛рдкрд╕ рд▓реМрдЯрддрд╛ рд╣реИ:
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == RESULT_SPEECH_TO_TEXT && resultCode == RESULT_OK) { ArrayList<String> matches = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS); TextView tvSpeech = (TextView) findViewById(R.id.tv_speech); tvSpeech.setText(matches.get(0)); } }
рдирд┐рд╖реНрдХрд░реНрд╖
рдЗрд░рд╛рджреЗ рддрдВрддреНрд░ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд▓рд┐рдП рдорд╣рд╛рди рдЕрд╡рд╕рд░ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдЙрджрд╛рд╣рд░рдг рджрд┐рдЦрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдЬрд┐рдиреНрд╣реЗрдВ рдЗрдВрдЯреЗрдВрдЯреНрд╕ рдХреА рдорджрдж рд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХреЗ рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рд╡рд╣ рд╡рд┐рдХрд╛рд╕ рдкрд░ рдХрд┐рд╕реА рдХрд╛ рд╕рдордп рдмрдЪрд╛рддреА рд╣реИред
рд╢рд╛рдпрдж рдЗрдВрдЯреЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рджрд┐рд▓рдЪрд╕реНрдк рд╡рд┐рдХрд▓реНрдк рд╣реИрдВред рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдВред