PHONE_STATE 意图过滤器
PHONE_STATE Intent-filter
我需要找到所有在其清单中定义 PHONE_STATE intent-filter 的应用程序。我让它适用于 CALL-action 字符串,所以我的代码有效:
Intent callIntent = new Intent(Intent.ACTION_CALL, null);
List<ResolveInfo> resolveInfoList = getPackageManager().queryIntentActivities(callIntent, 0);
问题出在字符串本身。它说 here 有一个常量值 "android.intent.action.PHONE_STATE",但我既不能像使用 CALL-action 字符串那样从代码访问它,也不能在我自己的清单中用 [=14 定义它=]
<intent-filter> <action android:name="android.intent.action.PHONE_STATE" />
我对 CALL-action 字符串的处理方式也是如此,因为在这两种情况下,都没有这样的值。
我也在一篇论文 [2] 中读到了这个意图,所以我确信它确实存在。那么它是消失了还是我可以通过其他方式访问它?
我想用那个意图过滤应用程序的原因:我需要所有为 PHONE_STATE 操作字符串注册 BoradcastReceiver 的应用程序,据我所知,这是通过那个确切的意图完成的。
如果现在它的工作方式不同或者我弄错了字符串,非常感谢任何提示!
[2]:在轻量级移动设备上 Phone 应用程序认证 - Enck 等人
好的,所以我阅读了 link 我已经发布了几次,现在我能够弄明白了。所以这是解决方案,如果其他人也对此感到困惑:
由于某种原因,它的工作方式与其他 Intent 不同。
AndroidStudio 似乎也很困惑,因为我能够添加
<intent-filter> <action android:name="android.intent.action.PHONE_STATE" />
这次进入清单。
然后,您可以使用
在您的应用程序中获取它
Intent phoneStateIntent = new Intent(TelephonyManager.ACTION_PHONE_STATE_CHANGED);
所以上面发布的 android-文档显示了 TelephonyManager.ACTION_PHONE_STATE_CHANGED
和 intent-filter android.intent.action.PHONE_STATE
之间的联系。我以前没有意识到这一点!
希望这对其他人有帮助!
我需要找到所有在其清单中定义 PHONE_STATE intent-filter 的应用程序。我让它适用于 CALL-action 字符串,所以我的代码有效:
Intent callIntent = new Intent(Intent.ACTION_CALL, null);
List<ResolveInfo> resolveInfoList = getPackageManager().queryIntentActivities(callIntent, 0);
问题出在字符串本身。它说 here 有一个常量值 "android.intent.action.PHONE_STATE",但我既不能像使用 CALL-action 字符串那样从代码访问它,也不能在我自己的清单中用 [=14 定义它=]
<intent-filter> <action android:name="android.intent.action.PHONE_STATE" />
我对 CALL-action 字符串的处理方式也是如此,因为在这两种情况下,都没有这样的值。
我也在一篇论文 [2] 中读到了这个意图,所以我确信它确实存在。那么它是消失了还是我可以通过其他方式访问它?
我想用那个意图过滤应用程序的原因:我需要所有为 PHONE_STATE 操作字符串注册 BoradcastReceiver 的应用程序,据我所知,这是通过那个确切的意图完成的。
如果现在它的工作方式不同或者我弄错了字符串,非常感谢任何提示!
[2]:在轻量级移动设备上 Phone 应用程序认证 - Enck 等人
好的,所以我阅读了 link 我已经发布了几次,现在我能够弄明白了。所以这是解决方案,如果其他人也对此感到困惑:
由于某种原因,它的工作方式与其他 Intent 不同。
AndroidStudio 似乎也很困惑,因为我能够添加
<intent-filter> <action android:name="android.intent.action.PHONE_STATE" />
这次进入清单。
然后,您可以使用
Intent phoneStateIntent = new Intent(TelephonyManager.ACTION_PHONE_STATE_CHANGED);
所以上面发布的 android-文档显示了 TelephonyManager.ACTION_PHONE_STATE_CHANGED
和 intent-filter android.intent.action.PHONE_STATE
之间的联系。我以前没有意识到这一点!
希望这对其他人有帮助!