Pull to refresh

Comments 18

Чтобы просто открыть url в маркете никаких разрешений не нужно.
Как, впрочем, и любой другой сайт в браузере
Да, спасибо, исправил.
Маркет можно открывать просто по market.android.com/… – тогда пользователи без Маркета получат результат в доступном браузере, но и минус в том, что адрес будет предложено открыть не только Маркетом, но и каждым браузером.
Вы правы, но все таки приложения удобнее устанавливать через маркет, не через веб интерфейс. В крайнем случае можно добавить обработчик ActivityNotFoundException и перенаправить на браузер.
Вот здесь еще автор наглядно и в картинках развивает тему мощности интентов для коммуникации между собой различных приложений.
Предлагаю убрать «ов» в конце заголовка, так как не знаю как другие, а я прочитал сначала
«Некоторые возможности использования интернетов»

ПС: голосуем плюсами или минусами за комментарий.
Тогда уж разделить для читаемости: использование Intent'ов.
Intent dialIntent = new Intent(Intent.ACTION_CALL, Uri.parse(«tel:» + «123456789»));
startActivity(intent);

Необходимо также добавить разрешение совершать звонки:
<uses-permission android:name=«android.permission.CALL_PHONE» />


Вы уверены? Я по практике знаю что не нужно, поскольку это ссылка, которая просто автоматически заполняет поле номера, но не производит вызов :) Тоесть пермишенов на телефонный вызов для этого не нужно.
Туплю, я про ACTION_DIAL писал.
Статью в избранное, спасибо!
В примерах все как всегда просто и понятно, но как оно в реальной жизни?..

Например, камера: htc и стоковое приложение ведут себя по-разному, поэтому сохранять/забирать фото нужно немного более извращенно заботливо:

Делаем фото:
public void takePhoto() {
// name consists of Photo + time taken
Time now = new Time();
now.setToNow();
String fileName = "Photo_" + now.toString().substring(0, 13) + ".jpg";
// create parameters for Intent with filename
ContentValues values = new ContentValues();
values.put(MediaStore.Images.Media.TITLE, fileName);
values.put(MediaStore.Images.Media.DESCRIPTION, "Image captured by camera");
// imageUri is the current activity attribute, define and save it
// for later usage (also in onSaveInstanceState)
mPhotoUri = getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
values);
// create new Intent
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, mPhotoUri);
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
startActivityForResult(intent, PHOTO_REQUEST_CODE);
}


Забираем:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {

super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case PHOTO_REQUEST_CODE:
if (resultCode == Activity.RESULT_OK) {
Bitmap bitmap = null;
if (data != null)
bitmap = (Bitmap) data.getExtras().get("data");
else
try {
bitmap = android.provider.MediaStore.Images.Media.getBitmap(
getContentResolver(), mPhotoUri);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

}
break;

default:
break;
}
}
Вы хотите сказать не всегда в onActivityResult битмап можно получить из экстра?
Увы и ах. Попробуйте сами на htc hero, например, и стоковом android (хоть на эмуляторе).
пробовал на desire, все было нормально. на эмуляторе вообще с камерой проблемы. Но спасибо за уточнение, буду добавлять проверки в следующий раз
Почему-то не нашел аналогов на английском или русском, поэтому вот ссылка на то, что есть. Довольно большая подборка интентов для организации взаимодействия с популярными приложениями.
Добавил в закладки — пригодится. Спасибо, что собрали в одном месте это все — удобно.
хорошая статья, спасибо! добавляю в закладки
Sign up to leave a comment.

Articles