android 在 ndk/JNI 的 cc/c++ 中获取 IMEI

2023-12-02

我会尝试得到imei使用 C/C++(使用 ndk)获取设备的数据并使用 JNI 检索结果。

const char *res = exec_get_out("service call iphonesubinfo 3");

在 shell 中工作,但在我的应用程序中不起作用

我有READ_PHONE_STATE清单中设置的权限。这是针对 Marshmallow Android 的(并且我已接受设置中的许可)

是否有任何其他可行的解决方案,或者如果没有 JNI 环境就不可能?


check this and this

#include <sys/system_properties.h>

    //returns the string length of the value.
    int ir = __system_property_get("ro.gsm.imei", imei_start);           

      if(ir > 0)
    {
      imei_start[15]=0;//strz end      
      printf("method1 got imei %s len %d\r\n",imei_start,strlen(imei_start));
      strcpy(g_imei,imei_start);
    }
      else
    {
      printf("method1 imei failed - trying method2\r\n");
      //old dumpsys imei getter
      char* res = exec_get_out("dumpsys iphonesubinfo");  
      const char* imei_start_match = "ID = ";
      int imei_start_match_len = strlen(imei_start_match);
      char* imei_start = strstr(res,imei_start_match);
      if(imei_start && strlen(imei_start)>=15+imei_start_match_len)
        {
          imei_start += imei_start_match_len;
          imei_start[15] = 0;
          printf("method2 IMEI [%s] len %d\r\n",imei_start,strlen(imei_start));
          strcpy(g_imei,imei_start);
        }
    }      
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

android 在 ndk/JNI 的 cc/c++ 中获取 IMEI 的相关文章

  • HTTPWebResponse 响应字符串被截断

    应用程序正在与 REST 服务通信 Fiddler 显示作为 Apps 响应传入的完整良好 XML 响应 该应用程序位于法属波利尼西亚 在新西兰也有一个相同的副本 因此主要嫌疑人似乎在编码 但我们已经检查过 但空手而归 查看流读取器的输出字
  • OleDbDataAdapter 未填充所有行

    嘿 我正在使用 DataAdapter 读取 Excel 文件并用该数据填充数据表 这是我的查询和连接字符串 private string Query SELECT FROM Sheet1 private string ConnectStr
  • C# 中通过 Process.Kill() 终止的进程的退出代码

    如果在我的 C 应用程序中 我正在创建一个可以正常终止或开始行为异常的子进程 在这种情况下 我通过调用 Process Kill 来终止它 但是 我想知道该进程是否已退出通常情况下 我知道我可以获得终止进程的错误代码 但是正常的退出代码是什
  • C#中如何移动PictureBox?

    我已经使用此代码来移动图片框pictureBox MouseMove event pictureBox Location new System Drawing Point e Location 但是当我尝试执行时 图片框闪烁并且无法识别确切
  • 带动态元素的 WPF 启动屏幕。如何?

    我是 WPF 新手 我需要一些帮助 我有一个加载缓慢的 WPF 应用程序 因此我显示启动屏幕作为权宜之计 但是 我希望能够在每次运行时更改屏幕 并在文本区域中显示不同的引言 这是一个生产力应用程序 所以我将使用非愚蠢但激励性的引言 当然 如
  • 如何在整个 ASP .NET MVC 应用程序中需要授权

    我创建的应用程序中 除了启用登录的操作之外的每个操作都应该超出未登录用户的限制 我应该添加 Authorize 每个班级标题前的注释 像这儿 namespace WebApplication2 Controllers Authorize p
  • 如何在 C 中调用采用匿名结构的函数?

    如何在 C 中调用采用匿名结构的函数 比如这个函数 void func struct int x p printf i n p x 当提供原型的函数声明在范围内时 调用该函数的参数必须具有与原型中声明的类型兼容的类型 其中 兼容 具有标准定
  • 如何序列化/反序列化自定义数据集

    我有一个 winforms 应用程序 它使用强类型的自定义数据集来保存数据进行处理 它由数据库中的数据填充 我有一个用户控件 它接受任何自定义数据集并在数据网格中显示内容 这用于测试和调试 为了使控件可重用 我将自定义数据集视为普通的 Sy
  • 垃圾收集器是否在单独的进程中运行?

    垃圾收集器是否在单独的进程中启动 例如 如果我们尝试测量某段代码所花费的进程时间 并且在此期间垃圾收集器开始收集 它会在新进程上启动还是在同一进程中启动 它的工作原理如下吗 Code Process 1 gt Garbage Collect
  • 什么时候虚拟继承是一个好的设计? [复制]

    这个问题在这里已经有答案了 EDIT3 请务必在回答之前清楚地了解我要问的内容 有 EDIT2 和很多评论 有 或曾经 有很多答案清楚地表明了对问题的误解 我知道这也是我的错 对此感到抱歉 嗨 我查看了有关虚拟继承的问题 class B p
  • 增加活动的屏幕亮度

    显然 Android 操作系统中至少有三种不同的技术可以改变屏幕亮度 其中两个在纸杯蛋糕之后不再起作用 而第三个被接受的技术显然有一个错误 我想在单视图活动开始时增加屏幕亮度 然后在活动结束时将亮度恢复为用户设置 没有按钮 没有第二个视图或
  • cmake 将标头包含到每个源文件中

    其实我有一个简单的问题 但找不到答案 也许你可以给我指一个副本 所以 问题是 是否可以告诉 cmake 指示编译器在每个源文件的开头自动包含一些头文件 这样就不需要放置 include foo h 了 谢谢 CMake 没有针对此特定用例的
  • 如何将带有 IP 地址的连接字符串放入 web.config 文件中?

    我们当前在 web config 文件中使用以下连接字符串 add name DBConnectionString connectionString Data Source ourServer Initial Catalog ourDB P
  • 如何在Xamarin中删除ViewTreeObserver?

    假设我需要获取并设置视图的高度 在 Android 中 众所周知 只有在绘制视图之后才能获取视图高度 如果您使用 Java 有很多答案 最著名的方法之一如下 取自这个答案 https stackoverflow com a 24035591
  • 实现滚动选择 ListView 中的项目

    我想使用 ListView 您可以在其中滚动列表来选择一个项目 它应该像一个 Seekbar 但拇指应该是固定的 并且您必须使用该栏来调整它 我面临的一个问题是 我不知道这种小部件是如何调用的 这使得我很难搜索 所以我制作了下面这张图片 以
  • 测试用例执行完成后,无论是否通过,如何将测试用例结果保存在变量中?

    我正在使用 NUNIT 在 Visual Studio 中使用 Selenium WebDriver 测试用例的代码是 我想在执行测试用例后立即在变量中记录测试用例通过或失败的情况 我怎样才能实现这一点 NUnit 假设您使用 NUnit
  • C# 模拟VolumeMute按下

    我得到以下代码来模拟音量静音按键 DllImport coredll dll SetLastError true static extern void keybd event byte bVk byte bScan int dwFlags
  • Crashlytics 出现 Android Studio 构建错误

    我正在尝试将 CrashLytics 与 Android Studio 和 gradle 一起使用 但出现一个令人困惑的错误 java lang NoSuchMethodError 我的 build gradle 是 buildscript
  • C++ 标准是否指定了编译器的 STL 实现细节?

    在写答案时this https stackoverflow com questions 30909296 can you put a pimpl class inside a vector我遇到了一个有趣的情况 这个问题演示了这样一种情况
  • 强制 Listview 不重复使用视图(复选框)

    我做了一个定制Listview 没有覆盖getView 方法 Listview 中的每个项目都具有以下布局 联系布局 xml

随机推荐

  • 如何在页面加载之前触发JS页面重定向

    我使用以下脚本在第一次访问时将页面的访问者重定向到另一个页面 但它首先加载 index html 页面 然后触发重定向 谁能指出我如何在页面加载之前触发此脚本
  • .Net Core 1.1 HttpClient 与 DI

    以下是我正在使用的代码 namespace MySite Api using System Collections Specialized using System Linq using System Net using System Ne
  • Android - 模拟器处于横向模式,屏幕不旋转

    When I switch to landscape mode NUMPAD 7 or CTRL F11 the emulator rotates the screen to landscape orientation but the An
  • 如何分析 Closure Compiler 包大小

    我有一个 ClojureScript 中的应用程序 它使用 Google 的 Closure Compiler 作为编译器后端 使用高级优化得到的捆绑包似乎太大了 我责怪依赖项 但如何找出哪些模块占用输出包中最多的字节 我扫描了所有闭包编译
  • Fedora 12 上的 phpredis

    我正在尝试安装 phpredis 来使用我的 php 但问题是 每次我尝试让它工作时 我的 error log 都会发送以下错误 code PHP 致命错误 在 var www html testme php 第 5 行中找不到类 Redi
  • System V 中 x86_64 的 C 浮点值调用约定是什么?

    我目前正在深入研究汇编领域 主要是从 x86 64 C 和 System V AMD64 的角度 通常针对 Linux 通过按顺序使用以下寄存器 整数 以及隐含的指针 值的调用约定非常简单 RDI RSI RDX RCX R8 R9 XMM
  • 在 Python 中将函数传递给 re.sub

    我的字符串中某处包含一个数字 我试图用它们的文字符号替换这个数字 即 3 gt 3 我有一个函数可以做到这一点 现在的问题是找到字符串中的数字 同时保持字符串的其余部分完好无损 为此 我选择使用re sub函数 它可以接受 可调用 然而 传
  • 尝试在我的 WAR 中运行 Spring @Transactional 服务方法时出现“事务未激活”

    我正在使用 Spring 3 1 1 RELEASE Hibernate 4 1 0 Final 和 JBoss 7 1 1 Final 当我尝试运行一个已将该方法注释为 Transactional 的服务方法时 事务完成后出现以下错误 1
  • 展平非常嵌套的循环[重复]

    这个问题在这里已经有答案了 如果我有一组像这样的循环 x for a in x 0 for b in x 1 for c in x 2 Do something with a b c 有没有一种简单的方法可以简化它 特别是当它有更多级别时
  • 类变量函数

    Say this gt varname等于一个字符串 其中is callable 返回真 要调用它我必须做 temp this gt varname temp 或者 有另一种方法可以调用它而不必创建两行吗 只做的问题 temp this g
  • 当对象确实是字符串时,强制转换与将对象转换为字符串

    这并不是一个真正的问题 但我很好奇 当我将字符串保存在 DataRow 中时 它会被转换为 Object 当我想使用它时 我必须将它转换为ToString 据我所知有几种方法可以做到这一点 第一种是 string name string D
  • 如果类是在带有元注释的组件之后定义的,则该类不可注入

    我刚刚开始 Angular2 快速启动项目 让一个简单的应用程序运行起来 我添加了DataService类 这样代码就会有关注点分离 最初我添加了DataService类在我的应用程序主要组件之后编写 即MyAppComponent像下面这
  • Android开发-getMenuInflater(R.menu.main, menu)

    我正在学习 android 并遵循简单的相机应用程序教程 我复制了一段代码 但出现错误 我不知道为什么 我正在使用的教程是 http iwearshorts com blog android development 102 代码片段是 Ov
  • Windows Phone 7 用户扩展属性

    被引导到这里后 http msdn microsoft com en us library microsoft phone info userextendedproperties getvalue 28v VS 92 29 aspx 我在侧
  • Azure Active Directory 发布注销 URL

    我希望在用户注销 Azure AD Office 365 时将他们重定向到我的应用程序网页 虽然根据来自的文档https greeneyeits com p 520 我们可以在那里编辑注销后链接 URL 并在用户注销 Azure AD Of
  • 如何在PowerShell中使用Windows API AuditEnumerateCategories函数?

    我想得到当前的高级安全审核策略使用 PowerShell 我可以用auditpol exe 但其输出因操作系统语言而异 这使得解析变得困难 The settings存储在 REG NONE 值中HKEY Local Machine Secu
  • 用于计算某些值在多行中出现的次数的 SQL 查询

    假设我有一个选举数据表 将其称为 选举 每次选举每个选民一行 如下所示 VoterID ElectionID A 1 A 2 B 1 C 2 D 3 E 1 E 2 我想知道在选举 1 和选举 2 中都投票的选民人数 我不关心其他人 该数字
  • 如何将 Laravel 变量传递到我的 AngularJS 视图中?

    我正在构建一个小型照片应用程序来学习 AngularJS 1 3 我有 PHP 背景 所以从概念上来说这对我来说是相当不同的 我想将一个变量 我的照片文件夹的 URL 传递到我的 AngularJS 视图 一个 html 文件 中 我怎样才
  • 更新站点时 git hook 出现问题

    我在服务器上建立了一个网站并使用git来维护它 为此 我创建了两个 git 存储库 其中一个位于 HOME site我推向一个非裸的 var www每次进行更改时都应该从裸存储库中提取 为了自动更新非裸存储库 我创建了一个并授予执行权限po
  • android 在 ndk/JNI 的 cc/c++ 中获取 IMEI

    我会尝试得到imei使用 C C 使用 ndk 获取设备的数据并使用 JNI 检索结果 const char res exec get out service call iphonesubinfo 3 在 shell 中工作 但在我的应用程