电话

1.主代码

    <uses-permission android:name="android.permission.CALL_PHONE"/>
    <uses-permission android:name="android.permission.READ_CALL_LOG"/>



package com.animee.day20;

import android.Manifest;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Build;
import android.support.annotation.NonNull;
import android.support.v4.app.ActivityCompat;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;

public class CallActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_call);
    }

    public void onClick(View view) {
//        1.判断当前的手机系统的版本号,如果是6。0以上系统,需要申请权限,否则就不需要申请权限。
        if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.M) {
//          2.判断之前使用中,是否申请过这个权限,如果申请通过了,也不用继续申请了,可以直接调用
            if (ActivityCompat.checkSelfPermission(this, Manifest.permission.CALL_PHONE)!= PackageManager.PERMISSION_GRANTED) {
//          3.申请授权
                ActivityCompat.requestPermissions(this,new String[]{Manifest.permission.CALL_PHONE,Manifest.permission.READ_CALL_LOG},100);
            }else{
                call();
            }
        }else{
            call();
        }
    }
    /**
     * 4.判断用户是否授权的回调方法
     *requestCode  :请求码
     * permissions :需要申请的权限的数组
     * grantResults  :用户给与的结果,授权或者没有授权
     * */
    @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        switch (requestCode) {
            case 100:
                int result = grantResults[0];
                if (result == PackageManager.PERMISSION_GRANTED) {
//                    用户给与了授权
                    call();
                }else{
                    Toast.makeText(this,"您没有给与这个权限,无法进行此项操作,请在应用管理器当中开启!",Toast.LENGTH_SHORT).show();
                }
//                判断申请的第二个权限
                int grant = grantResults[1];
                if (grant== PackageManager.PERMISSION_GRANTED) {
                    Toast.makeText(this,"用户给与了读取手机通讯列表的权利!!",Toast.LENGTH_SHORT).show();
                }else{
                    Toast.makeText(this,"用户没有给与了读取手机通讯列表的权利!!",Toast.LENGTH_SHORT).show();
                }
                break;

        }
    }

    //    直接跳转到打电话页面,然后拨打电话
//    1.添加权限
//    2.获取意图对象,向意图对象当中添加数据
//    3.跳转界面
    public void call(){
        Intent intent = new Intent();
        intent.setAction(Intent.ACTION_CALL);
        intent.setData(Uri.parse("tel:10010"));
        startActivity(intent);
    }
}
//  读取sdcard的权限申请,  在6.0以上手机上申请。读取sd卡的图片放到imageview上。






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值