1. 程式人生 > >關於android主執行緒不能訪問網路異常NetworkOnMainThreadException

關於android主執行緒不能訪問網路異常NetworkOnMainThreadException

獲取網路圖片:

//圖片處理
	ImageGetter imgGetter2 = new Html.ImageGetter() {
		public Drawable getDrawable(String source) {
			Drawable drawable = null;
			URL url;
			try {
				url = new URL(basePath + source.trim());
				drawable = Drawable.createFromStream(url.openStream(), ""); 
			} catch (Exception e) {
				return null;
			}

			drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
			return drawable;
		}
	};

然後在handler中給TextView賦值:
String content = data.getString("content");

				//html標籤處理    圖片處理
				txtContent.setText(Html.fromHtml(content, imgGetter2, null));
				break;

圖片一直獲取不到:而且網路許可權也放開了:
<uses-permission android:name="android.permission.INTERNET" />

然來還需要加上這個:

①類的上面加個@suppressLint

@SuppressLint("NewApi")
public class InfoActivity extends Activity {


②在onCreate方法中加上StrictMode

@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);

		setContentView(R.layout.info_activity);
		
		StrictMode.ThreadPolicy policy=new StrictMode.ThreadPolicy.Builder().permitAll().build();
		StrictMode.setThreadPolicy(policy);