• Android开发之使用意图调用内置应用程序


    意图可以调用活动,也常被用来调用内置应用程序,如加载web页面,拨号页面,内置地图应用等等。下面就用例子来说明该用法。

    效果图如下:

    实现代码如下:

    上图中的启动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;
            }
        }
  • 相关阅读:
    delegate
    .net企业级架构实战之1——框架综述
    .net企业级架构实战之3——业务对象建模及codesmith模板
    ubuntu学习小记
    [导入]【翻译】WF从入门到精通(第六章):加载和卸载实例
    专注SilverLight
    常用JS验证函数总结
    星级评分jQuery插件 (转)
    Windows Server 2003安装最新版MSN的方法
    [导入]【翻译】WF从入门到精通(第七章):基本活动的操作
  • 原文地址:https://www.cnblogs.com/JczmDeveloper/p/3654767.html
Copyright © 2020-2023  润新知