Intent的七大属性

Intent对象大致包括7大属性: ComponentName组件、Action动作 、  Category分类 、   Extra扩展  、Data数据 、Type类型、Flags 控制标记。
本文只包含前5种,Type和Flags会单独写。

包括了各种权限的设置,还有就是为了验证方便,MainActivity实现了OnClickListener接口,如果看不懂的话建议看一下button的监听方式。还有就是短信方面可能出现问题,因为本人在验证的时候会出现异常,异常截图
怀疑是模拟器没有发送短信功能,但是具体结果有待验证

package com.example.day06_intent;

import android.app.Activity;
import android.content.ComponentName;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity implements OnClickListener{
    private Button button1;
    private Button button2;
    private Button button3;
    private Button button4;
    private Button button5;
    private Button button6;
    private Button button7;
    private Button button8;
    private Button button9;
    private Button button10;
    private Button button11;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        button1= (Button) findViewById(R.id.button1);
        button2= (Button) findViewById(R.id.button2);
        button3= (Button) findViewById(R.id.button3);
        button4= (Button) findViewById(R.id.button4);
        button5= (Button) findViewById(R.id.button5);
        button6= (Button) findViewById(R.id.button6);
        button7= (Button) findViewById(R.id.button7);
        button8= (Button) findViewById(R.id.button8);
        button9= (Button) findViewById(R.id.button9);
        button10= (Button) findViewById(R.id.button10);
        button11= (Button) findViewById(R.id.button11);

        button1.setOnClickListener(this);
        button2.setOnClickListener(this);
        button3.setOnClickListener(this);
        button4.setOnClickListener(this);
        button5.setOnClickListener(this);
        button6.setOnClickListener(this);
        button7.setOnClickListener(this);
        button8.setOnClickListener(this);
        button9.setOnClickListener(this);
        button10.setOnClickListener(this);
        button11.setOnClickListener(this);


    }

    @Override
    public void onClick(View v) {
        Intent intent =new Intent();
        switch (v.getId()) {
        //ComponentName 
        //1.通过ComponentName 跳转页面(平时用的是Intent的简版)
        case R.id.button1:
            ComponentName componentName1 =new ComponentName(MainActivity.this, NextActivity.class);
            intent.setComponent(componentName1);

            break;
        //2.跳转到另外一个app(此时另外一个app需要先启动)
        //实例化一个ComponentName需要两个参数,第一个参数是要启动应用的包名称,这个包名称是指清单文件中列出的应用的包名称:
        //  第二个参数是你要启动的Activity或者Service的全称(包名+类名)          
        case R.id.button2:
            ComponentName componentName2 =new ComponentName("com.example.day05_activity", "com.example.day05_activity.MainActivity");
            intent.setComponent(componentName2);
            break;
        //3.隐式跳转
        case R.id.button3:
            intent.setAction("next");
            break;
        //4、拨打电话(需要权限)
        case R.id.button4:
            intent.setAction(intent.ACTION_CALL);
            intent.setData(Uri.parse("tel:10086"));
            break;
        //5、回到桌面
        case R.id.button5:
            intent.setAction(intent.ACTION_MAIN);
            intent.addCategory(intent.CATEGORY_HOME);
            break;
            //6、打开拨号界面(并将号码设置好)
        case R.id.button6:
            intent.setAction(intent.ACTION_DIAL);
            intent.setData(Uri.parse("tel:10086"));
            break;

            //7打开浏览器.别忘了联网权限
        case R.id.button7:
            intent.setAction(intent.ACTION_VIEW);
            intent.setData(Uri.parse("http://www.baidu.com"));
            break;
            //8.发送短信,(只是打开界面并未发送,所以不需要发送短信权限)
        case R.id.button8:
            intent.setAction(intent.ACTION_SENDTO);
            intent.setData(Uri.parse("smsto:10086"));
            intent.putExtra("sms_body", "sdfsdfkjslkjfdsd");
            break;
            //9打开设置界面
        case R.id.button9:
            intent.setAction("android.settings.SETTINGS");
            break;
            //10.打开WiFi设置
        case R.id.button10:
            intent.setAction("android.settings.WIFI_SETTINGS");
            break;
            //11.打开联系人列表
        case R.id.button11:
            intent.setAction("com.android.contacts.action.LIST_CONTACTS");
            break;
        default:
            break;
        }
        startActivity(intent);
    }

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值