Android开发之使用意图调用内置应用程序
2014-04-09 17:54
579 查看
意图可以调用活动,也常被用来调用内置应用程序,如加载web页面,拨号页面,内置地图应用等等。下面就用例子来说明该用法。
效果图如下:
实现代码如下:
上图中的启动MyBrowser是用意图来调用MyWebBrowserActivity活动外,其他三个都是在MainActivity类中直接通过new一个对应类型的Intent,然后通过startActivity()方法来调用内置程序。
MainActivity类代码:
MyBrowserActivity类代码:
效果图如下:
实现代码如下:
上图中的启动MyBrowser是用意图来调用MyWebBrowserActivity活动外,其他三个都是在MainActivity类中直接通过new一个对应类型的Intent,然后通过startActivity()方法来调用内置程序。
MainActivity类代码:
package com.example.intents; import com.example.intents.R; import android.R.anim; import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.view.View; import android.widget.Toast; public class MainActivity extends Activity { int request_code = 1; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.main); } public void onClickWebbrowser(View view){ Intent i = new Intent(android.content.Intent.ACTION_VIEW,Uri.parse("http://m.baidu.com/")); startActivity(i); } public void onClickCall(View view){ // Toast.makeText(getApplicationContext(), "dddddddd", Toast.LENGTH_SHORT).show(); // Toast.makeText(getApplicationContext(), "dddddddd", Toast.LENGTH_SHORT).show(); // Toast.makeText(getApplicationContext(), "dddddddd", Toast.LENGTH_SHORT).show(); Intent intent = new Intent(android.content.Intent.ACTION_DIAL); startActivity(intent); } public void onClickMap(View view){ Intent intent = new Intent(android.content.Intent.ACTION_VIEW,Uri.parse("geo:37.0,-122.0")); startActivity(intent); } public void onClickLaunchMyBrowser(View view){ // Intent intent = new Intent("com.example.intents.MyBrowserActivity"); Intent intent = new Intent("android.intent.action.VIEW"); // Intent intent = new Intent("wrong"); intent.setData(Uri.parse("http://m.baidu.com")); //startActivity(intent); intent.addCategory("com.example.intents.apps"); startActivity(Intent.createChooser(intent, "Open URL using...")); } }
MyBrowserActivity类代码:
public class MyBrowserActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_my_browser); Uri url = getIntent().getData(); WebView webView = (WebView)findViewById(R.id.WebBrowser1); webView.setWebViewClient(new Callback()); webView.loadUrl(url.toString()); } private class Callback extends WebViewClient{ public boolean shouldOverrideUrlLoading(WebView view,String url){ return false; } }
相关文章推荐
- 【Android 开发教程】使用Intent调用内置应用程序
- Android 程式开发:(四)使用Intent调用“内置”应用 —— 4.1范例
- Android学习笔记(十七)——使用意图调用内置应用程序
- Android学习笔记(十七)——使用意图调用内置应用程序
- Android 程式开发:(四)使用Intent调用“内置”应用 —— 4.4添加Category属性
- Android 程式开发:(四)使用Intent调用“内置”应用 —— 4.2浅析Intent
- Android 程式开发:(四)使用Intent调用“内置”应用 —— 4.3配置Intent-Filter
- Android学习笔记(十七)——使用意图调用内置应用程序
- 使用jQuery Mobile和Phone Gap开发Android应用程序
- Android 使用内置的Camera应用程序捕获图像
- Linux 下使用命令行开发 Android 应用程序
- 使用Intent调用内置应用程序
- Android图像处理简介の使用内置Camera应用程序进行图像捕获
- 使用jQuery Mobile + PhoneGap 开发Android应用程序(转)
- Android(java)学习笔记219:开发一个多界面的应用程序之两种意图
- android学习笔记---53_采用网页设计软件界面,以及使用android系统内置的浏览器,利用js调用java方法
- Android开发之JNI调用本地C库专题(一):JNI的使用
- Win7下使用eclipse开发Android调用JNI-第一个程序
- android学习笔记---53_采用网页设计软件界面,以及使用android系统内置的浏览器,利用js调用java方法
- Android---(4),Fragment的创建和使用,intent调用内置应用。