使用uri的方式打开应用、为什么要设置Action
2017-03-17 14:46
369 查看
看之前我们学到的代码
uri:用于标识某一互联网资源名称的字符串
简单理解格式如下:
[scheme:][//host][path][?query][#fragment]
前面我们学习过了activity之间的跳转方法:
http://blog.csdn.net/github_26672553/article/details/60329123
我们现在学习:怎么通过uri的方式,来实现(从ManActivity跳转到IndexActivity)
1、在AndroidManifest.xml 配置文件里:
2、MainActivity.java里点击跳转代码:
3、为了使得程序不报错,我们需要修改以前IndexActivity.java的代码:
为是要设置Action
如果我们还有一个activity,它们是scheme都是同样的。类似如下:
那么在需要跳转的时候,就可以通过action名称来区分了。
Intent intent = new Intent(); intent.setAction(intent.ACTION_VIEW); intent.setData(Uri.parse("http://www.baidu.com")); startActivity(intent);
uri:用于标识某一互联网资源名称的字符串
简单理解格式如下:
[scheme:][//host][path][?query][#fragment]
前面我们学习过了activity之间的跳转方法:
http://blog.csdn.net/github_26672553/article/details/60329123
我们现在学习:怎么通过uri的方式,来实现(从ManActivity跳转到IndexActivity)
1、在AndroidManifest.xml 配置文件里:
<activity android:name=".IndexActivity"> <intent-filter> <action android:name="abc" /> <category android:name="android.intent.category.DEFAULT" /> <data android:scheme="diy" android:host="diy.com"/> </intent-filter> </activity>
2、MainActivity.java里点击跳转代码:
Intent intent = new Intent(); intent.setData(Uri.parse("diy://diy.com")); startActivity(intent);
3、为了使得程序不报错,我们需要修改以前IndexActivity.java的代码:
public class IndexActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.index); //获取 Intent intent = getIntent(); //String name = intent.getExtras().get("name").toString(); String name = "首页"; //显示到控件上 ((TextView)findViewById(R.id.text1)).setText(name); } }
为是要设置Action
如果我们还有一个activity,它们是scheme都是同样的。类似如下:
<activity android:name=".IndexActivity"> <intent-filter> <action android:name="abc" /> <category android:name="android.intent.category.DEFAULT" /> <data android:scheme="diy" android:host="diy.com"/> </intent-filter> </activity>
<activity android:name=".NewsList">
<intent-filter>
<action android:name="newslist" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="diy" android:host="diy.com"/>
</intent-filter>
</activity>
那么在需要跳转的时候,就可以通过action名称来区分了。
Intent intent = new Intent(); intent.setAction("newslist"); intent.setData(Uri.parse("diy://diy.com")); startActivity(intent);
相关文章推荐
- Android “设置”应用的各项如何用代码调用的方式打开
- mac 设置打开方式, 图标右键显示简介,可以选择打开使用的方式
- 在Win7系统开始菜单中设置显示最近使用的项目以便打开应用
- Redis简介、与memcached比较、存储方式、应用场景、生产经验教训、安全设置、key的建议、安装和常用数据类型介绍、ServiceStack.Redis使用(1)
- android开发(26) 和其他应用交换数据方式一,使用intent指定自定义action调用其他程序里的activity,并获得其返回的结果
- android开发(26) 和其他应用交换数据方式一,使用intent指定自定义action调用其他程序里的activity,并获得其返回的结果
- android开发(26) 和其他应用交换数据方式一,使用intent指定自定义action调用其他程序里的activity,并获得其返回的结果
- C#语法——泛型的多种应用 C#语法——await与async的正确打开方式 C#线程安全使用(五) C#语法——元组类型 好好耕耘 redis和memcached的区别
- Win10系统如何在网页中使用URI 打开系统设置界面
- 遇到浏览器设置后电脑上大部分应用打开都是浏览器方式
- JQuery datatables插件 使用ajax将struts2的action对象传递给datatables设置数据源方式
- 菜鸟教程之工具使用(十三)——设置Eclipse文件默认打开方式
- android开发(26) 和其他应用交换数据方式一,使用intent指定自定义action调用其他程序里的activity,并获得其返回的结果
- 打开方式中设置默认打开方式时,选择的程序不会出现到设置默认方式的编辑框中的解决方法
- 为什么应用程序用户启动时崩溃,使用xcode打开却不会
- 为什么iexplore.exe在打开网页时CPU使用会100%?
- 为什么不能在右键“打开方式”里选择“选择程序”
- ThreadLocal(应用场景及使用方式及原理)
- wxODBC(wxWidgets)中使用驱动程序方式打开数据库
- 如何在ubuntu里使用资源视图的方式打开任意目录?