2013-06-05 38 views
5

Tôi đang cố gắng để có được phiên bản SDK của một ứng dụng, nhưng nếu tôi thử nghiệmCách tải phiên bản SDK của ứng dụng chứ không phải của thiết bị?

android.os.Build.VERSION.SDK_INT 

trong một ứng dụng nhắm mục tiêu cho 2.3.3, tôi nhận được phiên bản của thiết bị đó là 17 thay vì 10

Tôi không biết phiên bản SDK mà mã của tôi sẽ được biên dịch, vì tôi đang viết một đoạn mã mà nhà phát triển có thể thêm vào ứng dụng của riêng họ.

Cảm ơn.

+0

Am are curios .. Nhưng y bạn cần biết phiên bản sdk. xin vui lòng cho một senario. – amalBit

+0

Tôi đang viết một đoạn mã mà các nhà phát triển có thể thêm vào ứng dụng của riêng họ. –

+0

... và tại sao bạn cần phiên bản SDK ở đó? – laalto

Trả lời

0

nếu tôi đã không hiểu lầm

bạn cần android.os.Build.VERSION.RELEASE;

0

Có xem xét này .. targetSdkVersion.

Sử dụng mã này:

ApplicationInfo info=getApplicationInfo();// this class give info from the application tag in the manifest file 
    final int target=info.targetSdkVersion; 

Cũng đi qua discussion.

này
+0

Tôi nhận được "1.0". Mã của bạn cung cấp cho tôi phiên bản của ứng dụng, không phải phiên bản SDK đang được sử dụng .. –

+0

Sau nhiều lần googling .. tôi dường như đã tìm thấy những gì bạn đang tìm kiếm @RonTesler – amalBit

+0

Cảm ơn @amal, nhưng targetSdkVersion trong trường hợp của tôi có giá trị là 0 , bởi vì nó không được nêu trong bản kê khai. Tôi không thể kiểm soát tệp kê khai của ứng dụng lưu trữ, vì nó không phải của tôi. –

1

Bạn nên luôn nhắm mục tiêu cho phiên bản mới nhất. Điều đó sẽ mang lại cho bạn API mới nhất. Tôi đoán bạn cần biết phiên bản hiện tại của API có sẵn trên thiết bị. Đối với điều đó, bạn sẽ làm một cái gì đó như thế này (để kiểm tra xem API hiện tại là 2.3):

@TargetApi(Build.VERSION_CODES.GINGERBREAD) 
    public static void someMethod() { 
     if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) { 
      /** 
      * Call code accessible from Gingerbread onwards 
      * */ 
     } else { 
      /** 
      * Call code from previous API 
      * */ 
     } 
    } 
+0

Vấn đề là tôi không biết phiên bản SDK mà mã của tôi sẽ được biên dịch. Tôi muốn viết một mã mà các nhà phát triển sẽ sử dụng trong ứng dụng của họ. –

+0

Sau đó phương pháp trên phải chính xác những gì bạn cần ... đầu tiên nếu tuyên bố bạn sẽ sử dụng các API có sẵn từ Gingerbread v.v. – gunar

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