2012-10-08 43 views
19

Tôi đã khai báo quyền ACCESS_NETWORK_STATE trong tệp kê khai Ứng dụng như bên dưới.Quyền ACCESS_NETWORK_STATE trên Android ICS

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 

Mọi thứ đều tốt trên Android 2.x. Nhưng trên Android ICS, nó không thành công với con mèo đăng nhập bên dưới.

java.lang.SecurityException: ConnectivityService: Không sử dụng 10.093 cũng không quá trình hiện tại có android.permission.ACCESS_NETWORK_STATE. tại android.os.Parcel.readException (Parcel.java:1327) tại android.os.Parcel.readException (Parcel.java:1281) tại android.net.IConnectivityManager $ Stub $ Proxy.getActiveNetworkInfo (IConnectivityManager.java: 663) tại android.net.ConnectivityManager.getActiveNetworkInfo (ConnectivityManager.java:455) tại com.tapfortap.AdView.getNetwork (AdView.java:146) tại com.tapfortap.AdView.loadAdsWithAppId (AdView.java:133) tại com.tapfortap.AdView.access $ 100 (AdView.java:47) tại com.tapfortap.AdView $ 1 $ 1.run (AdView.java:88) tại android.os.Handler.handleCallback (Handler.java: 605) tại android.os.Handler.dispatchMessage (Handler.java:92) tại và roid.os.Looper.loop (Looper.java:137) tại android.app.ActivityThread.main (ActivityThread.java:4503) tại java.lang.reflect.Method.invokeNative (Phương pháp Gốc) tại java.lang .reflect.Method.invoke (Method.java WEBC11) tại com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:809) tại com.android.internal.os.ZygoteInit.main (ZygoteInit .java: 576) tại dalvik.system.NativeStart.main (Phương pháp Gốc)

+0

tại đó diễn ra trong Manifest của bạn, bạn đã đặt -Tag? – Thommy

+0

hãy thử làm sạch và xây dựng lại dự án của bạn và gỡ cài đặt bản dựng trước đó khỏi thiết bị của bạn và kiểm tra lại –

Trả lời

28

Đây phải là lỗi của khung ICS của Android. Tôi vừa giải quyết vấn đề này bằng cách thêm lại quyền này:

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 

Unbelievable !.

+32

Đây không phải là câu trả lời hợp lệ. Bản cập nhật của bạn cho tệp kê khai có thể chỉ kích hoạt một bản dựng sạch hoặc thứ gì đó tương tự. – Makibo

+0

Tôi không biết tại sao, nhưng đó là các bước để giải quyết vấn đề của tôi. Tôi nghĩ rằng đây là một lỗi của Android SDK, và Android SDK teem nên sửa chữa nó. –

+1

điều gì sẽ xảy ra khi bạn xóa dòng cuối cùng khỏi đoạn mã của mình? nếu nó phá vỡ một lần nữa, đó sẽ là dấu hiệu mạnh mẽ của một lỗi. nếu không, giải thích "xây dựng sạch" từ @Makibo wuold sẽ có nhiều khả năng hơn. PS: quên nó đi, tôi chỉ thấy rằng câu trả lời là 2+ tuổi ... – katzenhut

9

Tôi tin rằng đây là vấn đề với Eclipse; nó không làm mới tệp kê khai để tải quyền.

Tôi gặp vấn đề tương tự như áp phích gốc và đã giải quyết nó bằng cách thêm quyền lần thứ hai - nhưng sau đó tôi có thể xóa quyền mà không ảnh hưởng đến hành vi. Điều này làm cho tôi nghi ngờ rằng Eclipse đã không tải quyền chính xác cho đến khi tôi chạm vào tập tin.

2

Làm sạch và sau đó Xây dựng dự án đã giải quyết được vấn đề cho tôi.

0

Chỉ cần cắt <uses-permission android:name="android.permission.INTERNET" /> và dán tất cả các quyền ở trên. Nó sẽ hoạt động tốt ...

1

Làm sạch dự án. Kiểm tra tệp kê khai. Một số thay đổi tên gói hoặc dữ liệu bị thất lạc có thể gây ra lỗi này.

Vệ sinh dự án sẽ hoạt động.

+0

nếu bạn sử dụng android studio, vấn đề này sẽ không đến. +1 –

9

Chỉ cần thêm sự cho phép dưới đây và nó sẽ làm việc tốt, tôi có điều này là một vấn đề trước và giải quyết với tôi

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
<uses-permission android:name="android.permission.INTERNET" /> 
2

Uh-oh, Nếu u thêm theo mặc định, nó sẽ là:

<uses-permission android:name="ANDROID.PERMISSION.ACCESS_NETWORK_STATE"/> 

nếu u thêm lại phép theo:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 

Nó hoạt động tốt. Không thể tin được! Nó chi phí cho tôi 2 ngày

1

bạn đang thiếu Internet permission.add permisssion này nó sẽ sửa vấn đề của bạn

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
0

Trong code của bạn, Sẽ có những nơi mà bạn sẽ được kiểm tra Availability Internet trước khi thực hiện bạn cuộc gọi để ứng dụng của bạn không bị lỗi khi chạy. Cho rằng, bạn phải truy cập vào 'MẠNG NHÀ NƯỚC' đòi hỏi sự cho phép:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

Và khi Internet có sẵn, thiết bị của bạn giao tiếp với máy chủ bằng cách sử dụng 'INTERNET' đòi hỏi sự cho phép:

<uses-permission android:name="android.permission.INTERNET" />

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