بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

باز شدن اکتیویتی در صورت فعال بودن اینترنت

مدیریت گفتگو
sagheb95 11 سال پیش
آخرین تغییر: 11 سال پیش

سلام و خدا قوت

من یک اکتیویتی دارم که نیاز به اینترنت داره . حالا میخوام وقتی که کاربر میخواد وارد اون اکتیویتی بشه یه هشدار داده بشه و بپرسه که اینترنت فعال هست یا نه.

اگر فعال بود بتونه کاربر (بله ) رو انتخاب کنه و وارد اکتیویتی بشه ، و اگر فعال نبود ( خیر ) روانتخاب کنه و هیچ اتفاقی نیافته .

ممنون میشم راهنمایی بفرمائید.

نظرات

doost_fu 11 سال پیش
یه کد هست که از طریق اون میشه وضعیت اینترنت تشخیص داد سرچ کنید پیدا میشه بعد چک کنید که اگه اینترنت وصل بود به اکتیویتی مورد نظر برید و اگر نه هم اجازه ندید . موفق باشید
sagheb95 11 سال پیش
میشه یه کدی بیدن که فقط به کاربر اطلاع بده که به اینترنت نیاز هست ، اگر اینترنت داشته روی بله کلیک کنه و بره به اکتیویتی مورد نظر
sagheb95 11 سال پیش
دوستان میشه لطف کنید یه راهنمایی ...

پاسخ‌ها 4

فرشاد خدامرادی 11 سال پیش

از کد زیر استفاده کنید:

 	HttpClient client = new DefaultHttpClient();
	HttpGet method = new HttpGet("http://www.yourURL.com");  
      try {
HttpResponse response = client.execute(method); // کدی که می خوای در صورت اتصال به اینترنت انجام بشه
} catch (ClientProtocolException e) { e.printStackTrace(); } catch (IOException e) { Toast.makeText(context, "لطفا به اینترنت متصل شوید", Toast.LENGTH_SHORT).show(); e.printStackTrace(); }

نظرات

sagheb95 11 سال پیش

من یه ایمیج ویو دارم میخوام وقتی روش کلیک میشه پیام بده که به اینترنت متصل باشید  بعد از اگر بود 

بره به اکتیویتی بعدی که rss یک سایت رو میخونه .

اینم کد من ، حالا کد شما رو کجا و چطور قرار بدم

      ImageView news = (ImageView)findViewById(R.id.news);
news.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { startActivity(new Intent(p1.this,RssTabsActivity.class)); } });
 

نظرات

doost_fu 11 سال پیش

لطفا کدتون از قسمت مربوط به کد بذارید تا خوانا باشه
ولی در پاسخ : کدی که دوستمون گذاشتند در برنامتون بزارید و جای که نوشته کد خودتون بزارید فقط یه boolean که از قبل تعریف کردید( به صورت فیلد) مقدار دهی کنید مثلا true بشه
حالا وقتی روی ایمیج ویو کلیلک میشه اول مقدار boolean چک کنید اگه true بود دستور انجام بشه در غیر این صورت مثلا یه toast بزارید و بگید اینترنت وصل نیست .

موفق باشید.

نظرات

فرشاد خدامرادی 11 سال پیش

یا از روشی که دوستمون doost_fu گفتند استفاده کنید یا این که یک متد بنویسید با مقدار برگشتی boolean و بعد کد بنده رو داخل اون قرار بندید،حالا قبل از StartActivity این متد را صدا بزنید:نکته بسیار مهم این است که حتما ابتدا در onCreate این دو خط رو اضافه کنید( و minimum SDK شما باید 9 به بالا باشه) :

 if (android.os.Build.VERSION.SDK_INT > 9) {
  StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
			    StrictMode.setThreadPolicy(policy);
			}

سپس:

 if(checkNetwork()){
startActivity(intent);
}else{
Toast("یه اینترنت متصب شوید");
}

public static boolean checkNetwork() { HttpClient client = new DefaultHttpClient(); HttpGet method = new HttpGet("http://www.yoursite.com"); try { HttpResponse response = client.execute(method); return true; } catch (ClientProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); return false; } catch (NetworkOnMainThreadException n) { return false; } return true; }

 


نظرات


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .