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>

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

  • 相关阅读:
    Codeforces Round #307 (Div. 2)E. GukiZ and GukiZiana
    bzoj2957: 楼房重建,分块
    分块入门。
    poj3690 Constellations
    Codeforces Round #451 (Div. 2)F. Restoring the Expression 字符串hash
    Codeforces Round #456 (Div. 2)D. Fishes
    Codeforces Round #450 (Div. 2)D. Unusual Sequences
    快速排序+分治法
    哈夫曼编码课程设计+最小优先对列建树。
    浅谈差分约束系统
  • 原文地址:https://www.cnblogs.com/ikarl/p/2797265.html
Copyright © 2011-2022 走看看