Intent数据的传递

1.Intent明确的intent,直接以类名制定要启动哪一个Activity,通常用
与启动自己额的activity,
2.隐试的intent 所谓隐试,就是只有intent中指出想要进行的操作,例如
拨号,显示,编辑,搜索,以及,数据,例如电话号码,Email,网址等
让系统帮助我们找出合适的Activity
StartActivity 明确Intent的启动意图

  • 例如
    Intent Intent=new Intent();
    intent.SetClass(this,Act2.class);
    startActivity();

  • intent 夹带数据,传递给新的Activity
    例如:
    getIntent 和getXXXExtra();
    在新的Activity 可用getIntent ;来获取传入的Intent,然后利用
    getxxxExtra(数据名称,默认值) 方法读取数据。
    putExtra 放置数据
    在新的Activity结束时将数据放回

步骤如下:

*
1.在主Activity 中改用startActivityForResult 来启动Activity:
startActivityForResult(intent it,int 标识符,任意整形数据);
2.新的Activity早结束前使用SetResult()返回执行的结果数据
setResult (int 结果码,intent it);
在主activity中加入OnActivityResult()方法接收返回的数据
onactivityResult(int 标识符,int 结果码,intent it);

  • intent启动程序的方式
    1.隐试intent 可以启动的动作有很多
    Action_View 显示数据
    Action_Edit 编辑数据
    Action_Pick 挑选数据等等

uses-permission android:name=”android.permission.READ_EXTERNAL_STORAGE”读取手机文件权限
uses-permission android:name=”android.permission.CALL_PHONE”拨打电话权限

JAVA代码:主要片段

          >*  Intent intent=new Intent();
            /*Uri data=Uri.fromFile(new File("sdcard/download/a.jpg"));
            Uri.Builder builder =data.buildUpon();
            builder.appendQueryParameter("height", "500").appendQueryParameter("wigth", "500").fragment("center");
            data=builder.build();
            //intent.setAction(MainActivity.CRAS);
            intent .setDataAndType(data, "image/*");
            intent.setAction(Intent.ACTION_VIEW);*/
            intent.setAction(Intent.ACTION_VIEW);
            intent.setData(Uri.parse("tel:800"));

            startActivity(intent);

JAVA跳转二页面的代码:

/ intent = getIntent();
data = intent.getData();
// String query=data.getQuery();
// String fragme=data.getFragment();
int width=Integer.parseInt(data.getQueryParameter(“wigth”));
int highet=Integer.parseInt(data.getQueryParameter(“height”));
fragment = data.getFragment();
ImageView imageView=(ImageView) findViewById(R.id.imv);
//imageView.getLayoutParams().width=width;
//imageView.getLayoutParams().height=highet;
imageView.setImageURI(data);

清单文件的配置:

             android:name=".Second1Activity"
             android:label="@string/title_activity_second1" >
             android:mimeType="image/*" 
             android:name="org.crazyit.intent.action.CRAZYIT_ACTION" 
             android:name="android.intent.action.VIEW" 
             android:name="android.intent.category.DEFAULT" 

发送电子邮件

       <uses-permission android:name="android.permission.INTERNET" />权限
            Intent i = new Intent(Intent.ACTION_SEND);
            i.setType("text/plain");
            i.putExtra(Intent.EXTRA_EMAIL, new String[] { "contact@mycompany.com" });
            i.putExtra(android.content.Intent.EXTRA_SUBJECT, "[Contact us]");               
            startActivity(i);   
            intent.setData(Uri.parse("sms:0999-456789?body=你好"));发送短信:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值