2013-01-18 24 views
5

Tôi đang cố tạo một đoạn mã sẽ hoạt động trên nhiều ứng dụng. Tôi không thể tìm ra cách để đọc điều này từ bên trong Java, mặc dù. Có thể không phân tích cú pháp tệp kê khai theo cách thủ công không? Tôi muốn lấy scheme1 và scheme2 ra với một vài dòng mã.android - Cách lập trình đọc ý nghĩa biểu hiện?

<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> 

Chỉnh sửa: Tôi muốn sử dụng PackageManager để lấy thông tin này. Tôi không quan tâm đến XML thực tế.

Trả lời

2

Không, điều này là không thể vì một khi ứng dụng của bạn đã được tạo mọi thứ được chuyển đổi thành APK và tệp kê khai đó không còn có thể đọc được khi chạy. Tuy nhiên, bạn có thể đọc các thuộc tính này tương tác với PackageManager.

+0

Và để làm điều này với PackageManager, một sẽ ...? Xin lỗi, đó là những gì tôi đã cố gắng để có được với câu hỏi của tôi. – xtravar

+0

Trên thực tế, không thể lấy thông tin bộ lọc ý định từ trình quản lý gói. Tuy nhiên từ việc ngừng sử dụng chuyển tiếp khóa lên cho đến khi Jellybean bạn có thể nhận được nó bằng cách đọc .apk và giải mã các biểu hiện của họ, nhưng từ Jellybean apk của các ứng dụng khác có thể không còn có thể đọc được nữa. –

+0

Cảm ơn bạn đã phản hồi. Tôi chỉ muốn đọc điều này từ ** ứng dụng ** của tôi, tốt nhất là từ tất cả các phiên bản SDK. Điều đó có thể không? – xtravar

Các vấn đề liên quan