Intent数据的传递

来源:互联网 发布:2016淘宝开店 编辑:程序博客网 时间:2024/05/16 07:30

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=你好"));发送短信:
0 0
原创粉丝点击