电话

来源:互联网 发布:js数组的romove 编辑:程序博客网 时间:2024/06/08 04:55

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上。






原创粉丝点击