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>

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

  • 相关阅读:
    10年测试专家深度解读接口测试
    测试技术大牛谈成长经历:一个好的软件测试工程师应该做到这些!
    一位测试老鸟的工作经验分享
    又一名程序员倒下,网友:我们只是新时代农民工
    软件测试工程师这样面试,拿到offer的几率是80%
    App测试流程及测试点(个人整理版)
    自动化测试是什么?
    软件测试工程师的职业技能分析
    月薪15k的测试员需要学习什么技术?
    面向对象
  • 原文地址:https://www.cnblogs.com/ikarl/p/2797265.html
Copyright © 2011-2022 走看看