Android常见隐式意图使用

一.设置闹铃
操作(action):
ACTION_SET_ALARM
数据 URI(data):

MIME 类型(mimeType):

Extra:
EXTRA_HOUR
闹铃的小时。
EXTRA_MINUTES
闹铃的分钟。
EXTRA_MESSAGE
用于标识闹铃的自定义消息。
EXTRA_DAYS
一个 ArrayList,其中包括应重复触发该闹铃的每个周日。 每一天都必须使用 Calendar 类中的某个整型值(如 MONDAY)进行声明。
对于一次性闹铃,无需指定此 extra。


EXTRA_RINGTONE
一个 content: URI,用于指定闹铃使用的铃声,也可指定 VALUE_RINGTONE_SILENT 以不使用铃声。
如需使用默认铃声,则无需指定此 extra。


EXTRA_VIBRATE
一个布尔型值,用于指定该闹铃触发时是否振动。
EXTRA_SKIP_UI
一个布尔型值,用于指定响应闹铃的应用在设置闹铃时是否应跳过其 UI。 若为 true,则应用应跳过任何确认 UI,直接设置指定的闹铃。

示例:

public void createAlarm(String message, int hour, int minutes) {
    Intent intent = new Intent(AlarmClock.ACTION_SET_ALARM)
            .putExtra(AlarmClock.EXTRA_MESSAGE, message)
            .putExtra(AlarmClock.EXTRA_HOUR, hour)
            .putExtra(AlarmClock.EXTRA_MINUTES, minutes);
    if (intent.resolveActivity(getPackageManager()) != null) {
        startActivity(intent);
    }
}
需添加权限:

<uses-permission android:name="com.android.alarm.permission.SET_ALARM" />




二.创建定时器
操作:
ACTION_SET_TIMER
数据 URI:

MIME 类型:


Extra:
EXTRA_LENGTH
以秒为单位的定时器定时长度。
EXTRA_MESSAGE
用于标识定时器的自定义消息。
EXTRA_SKIP_UI
一个布尔型值,用于指定响应定时器的应用在设置定时器时是否应跳过其 UI。 若为 true,则应用应跳过任何确认 UI,直接启动指定的定时器。
示例:

public void startTimer(String message, int seconds) {
    Intent intent = new Intent(AlarmClock.ACTION_SET_TIMER)
            .putExtra(AlarmClock.EXTRA_MESSAGE, message)
            .putExtra(AlarmClock.EXTRA_LENGTH, seconds)
            .putExtra(AlarmClock.EXTRA_SKIP_UI, true);
    if (intent.resolveActivity(getPackageManager()) != null) {
        startActivity(intent);
    }
}

需添加权限:

<uses-permission android:name="com.android.alarm.permission.SET_ALARM" />

三.使用相机
操作(action):
ACTION_IMAGE_CAPTURE 或
ACTION_VIDEO_CAPTURE
数据 URI(data) :

MIME 类型(mimeType):

Extra:
EXTRA_OUTPUT
相机应用应将照片或视频文件保存到的 URI 位置(Uri 对象形式)。

例子:

static final int REQUEST_IMAGE_CAPTURE = 1;
static final Uri mLocationForPhotos;

public void capturePhoto(String targetFilename) {
    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    intent.putExtra(MediaStore.EXTRA_OUTPUT,
            Uri.withAppendedPath(mLocationForPhotos, targetFilename));
    if (intent.resolveActivity(getPackageManager()) != null) {
        startActivityForResult(intent, REQUEST_IMAGE_CAPTURE);
    }
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) {
        Bitmap thumbnail = data.getParcelable("data");
        // Do other work with full size photo saved in mLocationForPhotos
        ...
    }
}


四.选择联系人
操作:
ACTION_PICK
数据 URI:

MIME 类型:
Contacts.CONTENT_TYPE

示例 :

static final int REQUEST_SELECT_CONTACT = 1;

public void selectContact() {
    Intent intent = new Intent(Intent.ACTION_PICK);
    intent.setType(ContactsContract.Contacts.CONTENT_TYPE);
    if (intent.resolveActivity(getPackageManager()) != null) {
        startActivityForResult(intent, REQUEST_SELECT_CONTACT);
    }
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == REQUEST_SELECT_CONTACT && resultCode == RESULT_OK) {
        Uri contactUri = data.getData();
        // Do something with the selected contact at contactUri
        ...
    }
}






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值