zoukankan      html  css  js  c++  java
  • Android-隐式意图激活操作系统通话界面

    阅读Android操作系统的 packages/apps/phone/AndroidManifest.xml,是如何暴露的

      AndroidManifest.xml

      

    Android操作系统在这里明确指定要这个权限:


    我的应用去隐式意图激活,Android操作系统的 packages/apps/phone/ 

     

    现在知道为什么,一定要在AndroidManifest.xml里面配置权限了吧

      <!--
            Android操作系统的 packages/apps/phone/AndroidManifest.xml 
            明确指定要打电话权限 android:permission="android.permission.CALL_PHONE"
        -->
        <uses-permission android:name="android.permission.CALL_PHONE" />

    现在知道为什么,一定要这样才能激活 Android操作系统的 packages/apps/phone/ 通话功能了吧 

    Android操作系统 packages/assp/phone/ 暴露了很多 intent-filter,随意匹配一个intent-filter 就可以了,那就匹配下面的intent-filter 

        <!-- CALL action intent filters, for the various ways 
                of initiationg an outgoing call. -->
            <intent-filter>
                <action android:name="android.intent.action.CALL" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:scheme="tel" />
            </intent-filter> 

    Android操作系统 packages/assp/phone/AndroidManifest.xml/打电话相关 是怎么去intent-filter暴露的,我就怎么去激活

      /**
         * 隐式意图方式激活
         * 激活操作系统通话界面
         * @param view
         */
        public void startCall(View view) {
            /**
             * Android操作系统的 packages/apps/phone/AndroidManifest.xml 是这样暴露的
             *          <!-- CALL action intent filters, for the various ways of initiationg an outgoing call. -->
             *         <intent-filter>
             *                 <action android:name="android.intent.action.CALL" />
             *                 <category android:name="android.intent.category.DEFAULT" />
             *              <data android:scheme="tel" />
             *         </intent-filter>
             */
    
            Intent intent = new Intent();
            intent.setAction("android.intent.action.CALL");
            // 在这里为什么不需要设置:category android:name="android.intent.category.DEFAULT",因为在startActivity会自动添加
            intent.setData(Uri.parse("tel:1345678977")); // 必须要加 :
            startActivity(intent);
        }

    效果图:

  • 相关阅读:
    网页版台球小游戏
    代码写响应式时钟效果
    如何使用SVN?
    TP框架---View视图层---模板继承(举例说明)
    ThinkPhp框架:文件上传
    ThinkPhp框架:验证码功能
    ThinkPhp框架:父类及表单验证
    ThinkPhp框架对“数据库”的基本操作
    对thinkphp的命名空间的理解
    控制器操作方法的调用
  • 原文地址:https://www.cnblogs.com/android-deli/p/10135410.html
Copyright © 2011-2022 走看看