如何以编程方式获取运行我的Android应用程序的设备的电话号码?
经过对论坛的大量研究,现在我知道在双SIM卡手机中无法找到两张SIM卡的IMSI或SIM序列号(除了联系制造商).现在我改变的问题是,我们可以检测到手机有两个SIM吗?我相信它可以用一些智慧来检测.我能想到的几个方法是:
拨打USSD代码并跟踪IMEI号码的日志(我在印度尝试使用*139#.它有效.)这将给我SIM卡的IMEI号,我从中拨打了USSD代码.(假设手机遵循Android指南并且有两个IMEI号码.)
存储SIM的SIM序列号和/或IMSI.并且在检测到任何其他IMSI /序列号之后,即使手机没有重新启动(即SIM切换),也可以通过跟踪某些日志或某些广播事件处理来实现.
通过拨打*06#,您将看到两个IMEI号码.通过某种方式,获得这两个数字.(像屏幕捕获和文本图像解析之类的东西.)
如果有人能想到其他方式,他们是最受欢迎的.我真的很感激这方面的任何帮助.此外,如果任何人有关于任何制造商API或链接的任何信息,请与社区人员分享.
我希望通过编程来获取我的应用程序的注册配置以及我的应用程序已安装在其上的用户和手机的数量,以获取电话序列号.
我可以得到吗?
我可以获得我的应用已安装在手机上的手机型号吗?
我想在安装应用程序后立即为每个用户分配唯一ID,以便每当应用程序联系服务器时,我知道谁在联系.为此,我认为在第一次安装时,应用程序会联系服务器并获取唯一ID.但我不知道永久存储它的位置,以便下次启动应用程序时,它知道它的ID是什么,而不是联系服务器.
对不起,如果这是一个明显的问题,因为我是新手.
********************************我发现的最佳方式:************* ************************** ************************** **工作成功************************************************ *******************只需复制以下代码即可******************************* **********
表现:
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
Run Code Online (Sandbox Code Playgroud)
JAVA:在onCreate中:
String deviceIMEI;
CheckPermissionAndStartIntent();
Run Code Online (Sandbox Code Playgroud)
根:
private void CheckPermissionAndStartIntent() {
if (ContextCompat.checkSelfPermission(SplashActivity.this, Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED
|| ContextCompat.checkSelfPermission(SplashActivity.this, Manifest.permission.READ_PHONE_STATE) == PackageManager.PERMISSION_DENIED) {
ActivityCompat.requestPermissions(SplashActivity.this, new String[]{Manifest.permission.READ_PHONE_STATE}, 1);
//SEY SOMTHING LIKE YOU CANT ACCESS WITHOUT PERMISSION
} else {
doSomthing();
}
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String permissions[], @NonNull int[] grantResults) {
switch (requestCode) {
case 1: {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
doSomthing();
} else if (grantResults.length …Run Code Online (Sandbox Code Playgroud) 我使用以下代码获取Google Nexus 7标签的IMEI号码.我无法得到.如何获取Google Nexus 7的IMEI号码?
TelephonyManager telephonyManager = (TelephonyManager) context
.getSystemService(Context.TELEPHONY_SERVICE);
return telephonyManager.getDeviceId();
Run Code Online (Sandbox Code Playgroud)