Android Intent 意图
来源:互联网 发布:淘宝类目在哪里修改 编辑:程序博客网 时间:2024/05/22 00:14
Intent 意图
打开新界面
新的界面要AndroidManifest.xml加东西 Application最下面Add
Intent intent = new Intent(MainActivity.this, com.example.misss.Mainnew.class); //(环境, 包名->新界面名)startActivity(intent); /*开始行动*/
隐式意图 启动界面 (可以打开另一个项目的隐式界面)
- 显式Intent:通过指定Intent组件名称来实现的,它一般用在知道目标组件名称的前提下,一般是在相同的应用程序内部实现的。
- 隐式Intent:通过Intent Filter来实现的,它一般用在没有明确指出目标组件名称的前提下,一般是用于在不同应用程序之间。
- 为什么用隐式intent:因为有时需要调用系统的Activity,或者说希望用户不用默认的而用自己应用时,就会将自己的设置为与默认应用相同的过滤器,当用户选择时,自己的应用就可以供用户选择。
隐式Intent的Activity:AndroidManifest.xml配置
<activity <intent-filter> <action android:name="com.example.inten_y.sssb"/> 隐式启动的界面 名称 <category android:name="android.intent.category.DEFAULT"/> 隐式启动的界面 一般是 <data android:mimeType="aa/bb" android:scheme="itheima" /> 隐式启动的界面 数据设定 <intent-filter> ...
启动隐式Intent代码:
Intent intent = new Intent();intent.setAction("com.example.inten_y.sssb"); //隐式启动的界面名intent.addCategory("android.intent.category.DEFAULT"); //隐式启动模式?//intent.setData(Uri.parse("itheima:"+110)); //设置数据,通常是系统界面需要 要和要调用的界面的清单文件中的设置一样//intent.setType("aa/bb"); .//设置数据类型 要和要调用的界面的清单文件中的设置一样//intent.setDataAndType(Uri.parse("itheima:"+110),"aa/bb"); //两样需要同时设置时需要用这个方法startActivity(intent);
隐式意图的界面获取数据:
Intent intent = getIntent();Uri data = intent.getData();String scheme = data.getScheme();...
界面间的数据传递
打开新界面并发送数据:
Intent intent = new Intent();intent.setClass(MainActivity.this, newmain.class); /*环境,新界面*/intent.putExtra("key","Value"); /*放入(名称 值)*/Bundle bundle = new Bundle();bundle.putString("a", "omg");bundle.putInt("b", 86);intent.putExtra("Bundle1", bundle); /*放入(Bundle对象)*///startActivity(intent);startActivityForResult(intent,1);
新界面中接收数据:
//获取传递的值Intent intent = getIntent(); /*获取传递的意图*/String value = intent.getStringExtra("key"); /*根据名称取值*/Bundle bundle = intent.getBundleExtra("Bundle1");/*获取Bundle对象*/String strName = bundle.getString("a");Integer nValue = bundle.getInt("b");//设置返回的数据,并关闭新界面Intent intent = new Intent();intent.putExtra("return", "返回去的值");setResult(10, intent); //返回给调用者finish(); //关闭界面
原界面接收打开的新界面关闭时的返回数据
@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data){ if(requestCode ==1 && resultCode == 10) String s = data.getStringExtra("return"); //接收数据 super.onActivityResult(requestCode, resultCode, data);}
打电话
//Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel://110"));//精简版Intent intent = new Intent(); // Intent::意图 -> 意图干嘛 -> 意图打电话intent.setAction(Intent.ACTION_DIAL); //想要做什么->打电话-转到拨号//intent.setAction(Intent.ACTION_CALL); //打电话-直接打( 需要权限android.permission.CALL_PHONE )intent.setData(Uri.parse("tel://"+119)); //打哪个电话->这个119 Uri::统一的资源标示符(网络地址)startActivity(intent);//开始行动
发短信
打开发送短信的界面
Intent intent = new Intent();intent.setAction("android.intent.action.SEND"); //打开系统短信界面intent.addCategory("android.intent.category.DEFAULT");intent.setType("text/plain");intent.putExtra("sms_body","你好啊,最近过得怎样"); //传递短信内容startActivity(intent);
直接发短信: (需要权限 android.permission.SEND_SMS )
SmsManager smsManager = SmsManager.getDefault();ArrayList<String> divideMessages = smsManager.divideMessage("发送的短信内容,太长就下面的for循环截断,分成几条短信发送,中文最多70个字符,英文140个?还是160?");for(String div : divideMessages){ //自动截断处理 smsManager.sendTextMessage("12315", null,div,null,null);//(发送给谁,服务中心号码,短信内容,发送成功的广播,发送失败的广播)}
拍照与录像
未解之谜
//这是什么?????????注释的这些 //intent.setClass(MainActivity.this, MainActivity.class); //根据包名,类名,来唯一确定Activity//intent.setClassName(MainActivity.this, "com.example.lauchintenproj.MainActivity"); //字符串来定位//intent.setClassName("com.example.lauchintenproj", "com.example.lauchintenproj.MainActivity");
0 0
- [android]Intent意图
- android意图-intent
- android 中的意图intent
- android意图Intent
- Android Intent意图详解
- Android Intent 意图
- Android-Intent(意图)
- Android意图-Intent详解
- Android Intent(意图)介绍
- 浅析Android中的Intent(意图)
- Android中隐式意图(Intent)用法
- Android中隐式意图(Intent)用法
- Android中隐式意图(Intent)用法
- Android---组件篇---Intent(意图)
- Android中隐式意图(Intent)用法
- Android --Intent意图的讲解
- Android学习 15 ->意图Intent
- Android意图机制之Intent
- Nginx详细配置的备注说明
- 那些年,我使用过的轮子
- Android开发——减小APK大小
- POJ 35588 The Downloading Task 可能会
- Java集合系列(11)--Map总结
- Android Intent 意图
- 华为OJ:数字颠倒
- 最优化算法
- 算法:反向输出字符串
- CSDN-Markdown用法简述
- ServerSocket和ServerSocketChannel实例
- 二分匹配,匈牙利算法
- sublime默认运行python3
- 建立mysql主从模式集群,实现mysql的读写分离方法