Tôi muốn biết cách phân tích cú pháp tệp AndroidManifest.xml để nhận Số phiên bản ứng dụng thông qua mã. android: versionNameTải android: versionName phần tử tệp kê khai trong mã
Trả lời
Không cần phải phân tích cú pháp tệp AndroidManifest.xml
cho việc này.
Bạn có thể có được điều này bằng cách sử dụng:
try
{
String app_ver = this.getPackageManager().getPackageInfo(this.getPackageName(), 0).versionName;
}
catch (NameNotFoundException e)
{
Log.e(tag, e.getMessage());
}
Sử dụng này bên trong phương pháp onCreate()
của bạn.
tôi cần so sánh ứng dụng của tôi android: versionName với ứng dụng trong phần tải xuống. ứng dụng của tôi không có trong thị trường Android .. tôi cần so sánh versionName trong điện thoại di động của tôi với phiên bản mới có sẵn để obatin phiên bản mới và hiển thị cảnh báo để cập nhật nó .. làm thế nào để có được số phiên bản mới của ứng dụng trong trang web – jennifer
@jebbifer: Chỉ cần tạo yêu cầu 'Http Get' từ ứng dụng của bạn và gửi giá trị này trong các tham số của yêu cầu này. Và trên máy chủ của bạn, bạn cần phải xử lý yêu cầu đó và so sánh các giá trị phiên bản ứng dụng đó. Nếu lớn hơn ứng dụng khách, sau đó trả lời gửi cho anh ta/cô ấy một liên kết để tải xuống phiên bản mới của ứng dụng đó. –
Rất niiiice ++ –
Trong trường hợp điều này hữu ích cho bất kỳ ai khác, bạn cũng có thể truy cập @string
tài nguyên từ AndroidManifest.xml như bạn có thể từ các tệp xml khác.
Vì vậy, ví dụ, trong AndroidManifest.xml:
android:versionName="@string/app_versionName"
và trong mã:
string versionName = getResources().getString(R.string.app_versionName);
Bằng cách này bạn không cần (gây phiền nhiễu, IMO) try/lệnh catch. Tôi không chắc liệu đây có phải là cách được chấp thuận để làm mọi thứ không, nhưng nó có ý nghĩa với tôi.
Giải pháp tốt đẹp :) – Janusz
chúng ta có thể nhận được nội dung tệp kê khai hay không. –
giải pháp tuyệt vời! Thay vì chỉnh sửa chuỗi trực tiếp từ tệp kê khai, hãy sử dụng giá trị chuỗi và chỉnh sửa nó, mã của bạn sẽ không thay đổi sau đó! tôi thích! +2: P –
Cho đến nay, tôi đã sử dụng đoạn mã dưới đây từ this bài viết và thành công có mã phiên bản và phiên bản tên từ AndroidManifest.xml
/* Get android:versionName */
String versionName = getPackageManager().getPackageInfo(getPackageName(), 0).versionName;
/* Get android:versionCode */
int versionCode = getPackageManager().getPackageInfo(getPackageName(), 0).versionCode;
Vui lòng mở rộng câu trả lời của bạn vì câu trả lời chỉ liên kết không được xem là tốt trên SO. –
Nếu bạn đang sử dụng Studio Android, tên phiên bản có sẵn trong lớp BuildConfig. Lớp học này được tạo tại thời điểm biên dịch:
String versionName = BuildConfig.VERSION_NAME;
Đây là cách sạch nhất để truy xuất tên phiên bản.
Phải là câu trả lời được chấp nhận! Cảm ơn nhiều – Phil
- 1. Yêu cầu versionCode/versionName trong tệp kê khai thư viện phải không?
- 2. Tải tệp kê khai bộ nhớ cache
- 3. Cấu hình tệp kê khai Android?
- 4. không thể tìm thấy tệp kê khai lớp cho loại phần tử T
- 5. ACTION_USER_PRESENT trong tệp kê khai với BroadcastReceiver
- 6. Tự động thêm nhiều "phần" vào tệp kê khai?
- 7. Trình nhận báo thức và Tệp kê khai Android
- 8. Thiết lập tệp kê khai SDK Dropbox Android
- 9. Khai báo hoạt động bên trong trong Tệp kê khai Android
- 10. Không bắt tệp kê khai
- 11. cách khai báo hai gói với hoạt động của họ trong tệp kê khai android?
- 12. Có thể bao gồm/nhập mã vào Tệp kê khai Android không?
- 13. Dịch vụ ý định được khai báo trong Tệp kê khai Android như thế nào?
- 14. Giải mã một phần của Bitmap từ tệp trong Android
- 15. AdMob với Android: không thể phân tích cú pháp android: configChanges trong tệp kê khai
- 16. Máy phát quảng bá pin được khai báo trong tệp kê khai không hoạt động?
- 17. Sự khác biệt giữa versionName và versionNumber trong Android
- 18. Dừng Javascript khi tải từ tệp kê khai bộ nhớ cache trong webapp
- 19. Chỉ tải một phần của tệp bitmap trong Android
- 20. Cập nhật tệp kê khai triển khai cho ứng dụng ClickOnce lập trình dẫn đến thiếu phần tử <compatibleFrameworks>, được yêu cầu trong 4.0
- 21. Android - cách hủy đăng ký người nhận được tạo trong tệp kê khai?
- 22. Hỗ trợ Nexus 7 cho Tệp kê khai ứng dụng Android
- 23. Tải lên tệp Zend và phần tử trang trí
- 24. Cách tải phần tử CLICKED trong THREE.js
- 25. CORS Chrome Extension với phiên bản tệp kê khai 2
- 26. Lỗi ứng dụng Android Studio Tệp kê khai lỗi trong Gradle
- 27. Các loại chuỗi lỗi không được phép tại android: configChanges trong tệp kê khai
- 28. Tệp kê khai ứng dụng HTML5 không xóa bộ nhớ cache trên thay đổi tệp kê khai
- 29. Gia tốc sử dụng tính năng trong tệp kê khai
- 30. Thứ tự các dòng trong tệp kê khai Java
Bạn có thể lấy 'versionName' của ứng dụng bằng' BuildConfig.VERSION_NAME' nếu bạn đang sử dụng Gradle. Xem câu trả lời ở đây: http://stackoverflow.com/a/28352130/293280 –