2013-01-18 28 views
5

我正在尝试制作一段可以跨多个应用使用的代码。不过,我无法弄清楚如何从Java中读取它。是否有可能没有手动解析清单?我想用几行代码抓取scheme1和scheme2。android - 如何以编程方式读取清单意图?

<activity android:name="urlHandlingBlah"> 
    <intent-filter> 
     <action android:name="android.intent.action.VIEW"></action> 
     <category android:name="android.intent.category.DEFAULT"></category> 
     <category android:name="android.intent.category.BROWSABLE"></category> 
     <data android:scheme="scheme1"></data> 
     <data android:scheme="scheme2"></data> 
    </intent-filter> 
</activity> 

编辑:我的意思是如何使用PackageManager来获取这些信息。本人并不关心实际的XML。

回答

2

不,这是不可能的,因为一旦你的应用程序被创建,所有东西都被转换成APK,并且该清单在运行时不再可读。但是,您可以阅读这些与PackageManager交互的属性。

+0

要使用PackageManager来做到这一点,人们会......?对不起,这就是我想要解决我的问题。 – xtravar

+0

实际上,不能从包管理器获取意图过滤器信息。然而,从向前锁定到Jellybean的弃用,你可以通过阅读.apk和解码他们的清单来获得它,但是从其他应用程序的Jellybean apk可能不再可读。 –

+0

感谢您的回应。我只想从** my **应用程序中阅读此内容,最好从所有版本的SDK中阅读。那可能吗? – xtravar

相关问题