
Android
Javaimport Android.Manifest;import Android.content.pm.PackageManager;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.telephony.TelephonyManager;import Android.widget.TextView;public class MAInActivity extends AppCompatActivity { private static final int REQUEST_PERMISSION = 1; private TextView statusTextView; private TextView identityTextView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setcontentView(R.layout.activity_mAIn); statusTextView = findViewById(R.id.statusTextView); identityTextView = findViewById(R.id.identityTextView); // 检查是否已经获取电话权限 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { if (ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) { // 未获取电话权限,请求权限 ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_PHONE_STATE}, REQUEST_PERMISSION); } else { // 已获取电话权限,读取手机状态和身份信息 readPhoneStatusAndIdentity(); } } else { // 低于 Android 6.0,无需请求权限,直接读取手机状态和身份信息 readPhoneStatusAndIdentity(); } } @Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); if (requestCode == REQUEST_PERMISSION) { if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { // 用户授予电话权限,读取手机状态和身份信息 readPhoneStatusAndIdentity(); } else { // 用户拒绝电话权限,显示提示信息 statusTextView.setText("未获取电话权限"); identityTextView.setText("未获取电话权限"); } } } private void readPhoneStatusAndIdentity() { TelephonyManager telephonyManager = (TelephonyManager) getSystemService(TELEPHONY_SERVICE); String status = telephonyManager.getcallState() == TelephonyManager.CALL_STATE_IDLE ? "手机状态:空闲" : "手机状态:通话中"; String identity = "手机唯一标识符:" + telephonyManager.getDeviceId(); statusTextView.setText(status); identityTextView.setText(identity); }}上述代码中,首先检查是否已经获取了电话权限。如果未获取权限,则向用户请求电话权限。如果已获取权限,则调用 readPhoneStatusAndIdentity() 方法读取手机状态和身份信息,并将结果显示在界面上的 TextView 中。电话权限的读取手机状态和身份功能为 Android 应用开发者提供了丰富的可能性。通过读取手机状态,应用程序可以根据不同的手机状态提供不同的功能和服务。通过读取手机身份,应用程序可以实现用户身份验证和个性化的功能。开发者在使用这些功能时,需要注意用户隐私和数据安全,确保合法合规的使用权限。Copyright © 2025 IZhiDa.com All Rights Reserved.
知答 版权所有 粤ICP备2023042255号