zoukankan      html  css  js  c++  java
  • Android应用开发之调用系统Activity涉及的授权问题

    调用系统Activity时可能会出现一些问题,使我们的程序不能运行,这时我们要考虑是不是没有获得权限,而获得权限的代码很简单。

    在AndroidManifest.xml里面添加<uses-permission>标签即可。

    例如我们需要直接调用系统Activity拨打电话,那么除了以下代码:

    public class CallDear extends Activity {

      public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_call_dear);

        //调用直接拨号Activity
        Intent callIntent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:18674385210"));
        startActivity(calllIntent);

        //Activity跳转时用到的跳转特效,这里用的fade 渐入渐出。

        overridePendingTransition(R.anim.fade, R.anim.fade); 
    }

    还需要在AndroidManifest.xml里面添加<uses-permission>标签,如下(黑体部分):

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.calldear"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="15" />

    <application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
    android:name=".CallDear"
    android:label="@string/title_activity_call_dear" >
    <intent-filter>
    <action android:name="android.intent.action.MAIN" />

    <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
    </activity>
    </application>
    <uses-permission android:name="android.permission.CALL_PHONE"></uses-permission>
    </manifest>

    没有授权,是不可以直接拨打电话的。添加了授权的代码后,在用户安装程序时将会询问是否允许该操作。

  • 相关阅读:
    java获取本机IP和主机名
    SSH框架总结(框架分析+环境搭建+实例源代码下载)
    Centos7安装mysql8教程
    jquery 操作HTML data全局属性缓存的坑
    mysql协议分析2---认证包
    mysql协议分析1---报文的格式和基本类型
    TCP三次握手抓包理解
    java读写文件小心缓存数组
    spring 事务隔离级别导致的bug
    mysql 不同版本下 group by 组内排序的差异
  • 原文地址:https://www.cnblogs.com/ikarl/p/2797265.html
Copyright © 2011-2022 走看看