【问题标题】:how we get mobile number of any device in android我们如何在android中获取任何设备的手机号码
【发布时间】:2018-09-14 04:48:27
【问题描述】:

我正在使用这种方法获取设备号。

TelephonyManager telemamanger = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
String getSimNumber = telemamanger.getLine1Number();

但此方法仅适用于 android 7.0 不适用于 6.0 和 8.0 请建议我如何在 Android 6.0 和 8.0 版本中获取手机号码

【问题讨论】:

标签: android telephonymanager


【解决方案1】:
 private void showContacts() {
    // Check the SDK version and whether the permission is already granted or not.
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && checkSelfPermission(Manifest.permission.READ_CONTACTS) != PackageManager.PERMISSION_GRANTED) {
        requestPermissions(new String[]{Manifest.permission.READ_CONTACTS}, PERMISSIONS_REQUEST_READ_CONTACTS);
        //After this point you wait for callback in onRequestPermissionsResult(int, String[], int[]) overriden method
    } else {
        String main_data[] = {"data1", "is_primary", "data3", "data2", "data1", "is_primary", "photo_uri", "mimetype"};
        Object object = getContentResolver().query(Uri.withAppendedPath(android.provider.ContactsContract.Profile.CONTENT_URI, "data"),
                main_data, "mimetype=?",
                new String[]{"vnd.android.cursor.item/phone_v2"},
                "is_primary DESC");
        String s1="";
        if (object != null) {
            do {
                if (!((Cursor) (object)).moveToNext())
                    break;
                // This is the phone Number
                s1 = ((Cursor) (object)).getString(4);
                Log.i("TestMOB",s1);
            } while (true);
            ((Cursor) (object)).close();
        }

    }
}

希望这会帮助你:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-23
    • 1970-01-01
    • 2019-12-07
    • 2014-04-16
    • 2021-06-29
    相关资源
    最近更新 更多