提取通知等待可访问性的意图内容

时间:2013-05-04 12:37:09

标签: android android-intent accessibility android-pendingintent

我正在研究Android应用程序的辅助功能,其中之一就是向用户宣布他们的通知。

使用以下标准代码,我可以访问通知信息:

@Override
public void onAccessibilityEvent(final AccessibilityEvent event) {

        final Notification not = (Notification) event.getParcelableData();
        final CharSequence tick = not.tickerText;
        final PendingIntent pi = not.contentIntent;

但在这里,我一直坚持如何从PendingIntent中提取信息,以建立,例如,它指向哪个Activity(如果有的话)。

我可以使用以下标准代码来建立发起人:

final String packageName = event.getPackageName().toString()

这在大多数情况下都很好,但许多通知来自Google服务框架或Android系统,因此PendingIntent信息会提供更多有关它们究竟是什么的线索 - 一个很好的例子就是GTalk,它位于Google Services Framework的通用包名称下。

我已阅读了很多related posts,包括如何action the Pending Intent,但我无法弄清楚如何访问此信息,或者是否可能。

pi.getCreatorPackage();
pi.getTargetPackage();

两者都返回Google服务框架(在GTalk的情况下)

pi.readPendingIntentOrNullFromParcel(?);

看起来更有前途,但我不知道该怎么做。

我希望你能提供帮助,或者告诉我这是不可能的!提前谢谢。

1 个答案:

答案 0 :(得分:1)

不幸的是,这是不可能的。 PendingIntent的内容由ActivityManager管理,并且没有可用于从ActivityManager获取此数据的API。