【问题标题】:Is there a way to access the device IMEI without having reference to the Activity or Context?有没有办法在不参考活动或上下文的情况下访问设备 IMEI?
【发布时间】:2010-12-07 15:09:58
【问题描述】:

我在这里有点困惑。

从我读过的有关如何在 Android 中获取设备 ID (IMEI) 的所有资源中,似乎没有对 Activity 或 Activity 上下文的引用就无法获取它。

这是真的吗?

还有其他方法吗?一些静态系统方法可以帮助完成这项简单的任务吗?

这个决定背后的逻辑在哪里?

这是唯一的选择吗?

TelephonyManager mTelephonyMgr = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);

String imei = mTelephonyMgr.getDeviceId(); 

具有以下权限

<uses-permission android:name="android.permission.READ_PHONE_STATE"/>

谢谢,

意大利

【问题讨论】:

  • 具有讽刺意味的是,您从上下文中得到的是公共静态字符串常量(“phone”iirc)的值,但假设它始终具有今天的值是不正确的。
  • 是否可以从对上下文没有任何访问权限的库中启动子活动?在这种情况下,是否可以与此 Activity 进行通信并让它检查设备的 IMEI? (当然检查预定义的 IMEI 列表)

标签: android android-context


【解决方案1】:

您可以在 Application.onCreate() 中执行此操作,并将 IMEI 存储在 public static String 中。

【讨论】:

  • 是的,我知道.. 问题是我想创建一个独立的库来执行这个任务。除非我在我的 API 中询问它的上下文,否则我无法触及 Activity。我不想那样做。反正10倍
猜你喜欢
  • 2012-07-01
  • 2011-07-31
  • 1970-01-01
  • 1970-01-01
  • 2020-01-14
  • 2018-06-03
  • 2016-07-04
  • 1970-01-01
  • 2020-12-29
相关资源
最近更新 更多