رفتن به مطلب
  • 0

کنترل اتصال به اینترنت و درصورت وصل نبودن رفتن به تنظیمات برای اتصال


arastooms

سوال

سلام به همه اساتید عزیزم و دوستان  گُل

من برنامه ای دارم مینویسم که باید به اینترنت وصل باشه

قصد دارم بعد از صفحه اسپلش برنامه و هنگام ورود به اکتیویتی اصلی main بیاد و ببینه گوشی به اینترنت وصل هست یا نه ؟؟
اگر وصل بود که هیچ 
اگر وصل نبود یه پنل باز بشه و بگه شما به اینترنت وصل نیستی و باید وصل باشی و دکمه ای داشته باشه که وقتی میزنی بره قسمت تنظیمات گوشی برای اتصال 
( روش ساخت پنل و ... دکمه و ) میدونم 
ولی اینتن ها و کد نویسی رو در اندروید استودیو مشکل دارم که چه طور کنترل کنم به اینترنت وصل هست یانه و چطور هدایت کنم به تنظیمات برای روشن کردن و یا حتی روشن کردن مستقیم اینترنت
ممنون میشم اگر راهنمایی بفرمایید
با تشکر

♥  :give_rose:  :give_rose:

لینک ارسال
به اشتراک گذاری در سایت های دیگر

9 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

زیر پکیجت بذاری هم درسته

زیر این :

package="com.example.tstp.splashscreen">

لینک ارسال
به اشتراک گذاری در سایت های دیگر

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

 

ولی وقتی روی دکمه کلیک میکنم با این ارور مواجه میشم

 

02-11 06:42:35.128 6792-6792/com.example.tstp.splashscreen E/AndroidRuntime: FATAL EXCEPTION: main
                                                                             Process: com.example.tstp.splashscreen, PID: 6792
                                                                             java.lang.IllegalStateException: Could not execute method of the activity
                                                                                 at android.view.View$1.onClick(View.java:3823)
                                                                                 at android.view.View.performClick(View.java:4438)
                                                                                 at android.view.View$PerformClick.run(View.java:18422)
                                                                                 at android.os.Handler.handleCallback(Handler.java:733)
                                                                                 at android.os.Handler.dispatchMessage(Handler.java:95)
                                                                                 at android.os.Looper.loop(Looper.java:136)
                                                                                 at android.app.ActivityThread.main(ActivityThread.java:5001)
                                                                                 at java.lang.reflect.Method.invokeNative(Native Method)
                                                                                 at java.lang.reflect.Method.invoke(Method.java:515)
                                                                                 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
                                                                                 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
                                                                                 at dalvik.system.NativeStart.main(Native Method)
                                                                              Caused by: java.lang.reflect.InvocationTargetException
                                                                                 at java.lang.reflect.Method.invokeNative(Native Method)
                                                                                 at java.lang.reflect.Method.invoke(Method.java:515)
                                                                                 at android.view.View$1.onClick(View.java:3818)
                                                                                 at android.view.View.performClick(View.java:4438) 
                                                                                 at android.view.View$PerformClick.run(View.java:18422) 
                                                                                 at android.os.Handler.handleCallback(Handler.java:733) 
                                                                                 at android.os.Handler.dispatchMessage(Handler.java:95) 
                                                                                 at android.os.Looper.loop(Looper.java:136) 
                                                                                 at android.app.ActivityThread.main(ActivityThread.java:5001) 
                                                                                 at java.lang.reflect.Method.invokeNative(Native Method) 
                                                                                 at java.lang.reflect.Method.invoke(Method.java:515) 
                                                                                 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785) 
                                                                                 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601) 
                                                                                 at dalvik.system.NativeStart.main(Native Method) 
                                                                              Caused by: java.lang.SecurityException: ConnectivityService: Neither user 10052 nor current process has android.permission.ACCESS_NETWORK_STATE.
                                                                                 at android.os.Parcel.readException(Parcel.java:1472)
                                                                                 at android.os.Parcel.readException(Parcel.java:1426)
                                                                                 at android.net.IConnectivityManager$Stub$Proxy.getNetworkInfo(IConnectivityManager.java:863)
                                                                                 at android.net.ConnectivityManager.getNetworkInfo(ConnectivityManager.java:604)
                                                                                 at com.example.tstp.splashscreen.MainActivity.checkNetworkStatus(MainActivity.java:69)
                                                                                 at com.example.tstp.splashscreen.MainActivity.click_butten_rahnam(MainActivity.java:104)
                                                                                 at java.lang.reflect.Method.invokeNative(Native Method) 
                                                                                 at java.lang.reflect.Method.invoke(Method.java:515) 
                                                                                 at android.view.View$1.onClick(View.java:3818) 
                                                                                 at android.view.View.performClick(View.java:4438) 
                                                                                 at android.view.View$PerformClick.run(View.java:18422) 
                                                                                 at android.os.Handler.handleCallback(Handler.java:733) 
                                                                                 at android.os.Handler.dispatchMessage(Handler.java:95) 
                                                                                 at android.os.Looper.loop(Looper.java:136) 
                                                                                 at android.app.ActivityThread.main(ActivityThread.java:5001) 
                                                                                 at java.lang.reflect.Method.invokeNative(Native Method) 
                                                                                 at java.lang.reflect.Method.invoke(Method.java:515) 
                                                                                 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785) 
                                                                                 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601) 
                                                                                 at dalvik.system.NativeStart.main(Native Method) 
02-11 06:47:36.358 6792-6792/com.example.tstp.splashscreen I/Process: Sending signal. PID: 6792 SIG: 9

این ساب کلیک هست 
 

   public void click_butten_rahnam(View b1) {

if (checkNetworkStatus()==true){
            Toast.makeText(this, "اینترنت وصل است", Toast.LENGTH_LONG).show();
        }else{
            Toast.makeText(this, "اینتر نت وصل ننننننیست", Toast.LENGTH_LONG).show();
        }
        
    }

ولی با خطا خارج میشه 

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

private boolean checkNetworkStatus(){

        final ConnectivityManager connMgr = (ConnectivityManager)
                getSystemService(Context.CONNECTIVITY_SERVICE);

        final android.net.NetworkInfo wifi =
                connMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI);

        final android.net.NetworkInfo mobile =
                connMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);

        if( wifi.isAvailable() ){
            return true;
        }
        else if( mobile.isAvailable() ){
            return true;

        }
        else
        {
            return false;

        }

    }
لینک ارسال
به اشتراک گذاری در سایت های دیگر

دسترسی رو هم اضافه کن ارسطو جان به Manifest

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

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام الیاس جان میدونی من تازه کارم تو اندروید استودیو 
تازه اول دبستانم 
این مانیفست من باشه دسترسی ها رو کجا باید وارد کنم ؟

 

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.tstp.splashscreen" >

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.default" />
            </intent-filter>
        </activity>

        <activity android:name=".Splash">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
        <!-- ATTENTION: This was auto-generated to add Google Play services to your project for
             App Indexing.  See https://g.co/AppIndexing/AndroidStudio for more information. -->
        <meta-data
            android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version" />

    </application>

</manifest>

البته اگر درست پیدا کرده باشم و مانی فست باشه  :wacko1:  :wacko1:  :wacko1:

لینک ارسال
به اشتراک گذاری در سایت های دیگر

ضمن تشکر فراوان از همه دوستان که در این تاپیک من رو راهنمایی کردند به عنوان شاگرد خودشون 
(دست تک تک عزیزان رو می بوسم )
:give_rose:  :give_rose:  :give_rose:  :give_rose: 
تاپیک رو پاسخ داده شده اعلام میکنم 
مشکل ارور از نبودن دسترسی در مانیفست بود که حل شد 
خواهش میکنم پست رو مدیران قفل کنند تا در آینده عزیزان استفاده کنند
با تشکر

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام

 

برای چک کردن وصل یا نبودن اینترنت این متد رو ایجاد کنید:

private boolean checkNetworkStatus(){

	    final ConnectivityManager connMgr = (ConnectivityManager)
	     cc.getSystemService(Context.CONNECTIVITY_SERVICE);

	     final android.net.NetworkInfo wifi =
	     connMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI);

	     final android.net.NetworkInfo mobile =
	     connMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);

	     if( wifi.isAvailable() ){
	     return true;
	     }
	     else if( mobile.isAvailable() ){
	     return true;
	    
	     }
	     else
	     {
	    	 return false;
	         
	     }

	}

و شرطش هم به این صورت بذارید:

if(checkNetworkStatus()==true){
				//وصل است
				}else{
					//وصل نیست!
				}
				

و برای رفتن به قسمت تنظمیات وایرلس:

startActivityForResult(new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS), 0);

و برای رفتن به بخش روشن کردن وای فای:

 startActivityForResult(new Intent(android.provider.Settings.ACTION_WIFI_SETTINGS), 0);
لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام

برای چک کردن وصل یا نبودن اینترنت این متد رو ایجاد کنید:

private boolean checkNetworkStatus(){	    final ConnectivityManager connMgr = (ConnectivityManager)	     cc.getSystemService(Context.CONNECTIVITY_SERVICE);	     final android.net.NetworkInfo wifi =	     connMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI);	     final android.net.NetworkInfo mobile =	     connMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);	     if( wifi.isAvailable() ){	     return true;	     }	     else if( mobile.isAvailable() ){	     return true;	    	     }	     else	     {	    	 return false;	         	     }	}
و شرطش هم به این صورت بذارید:
if(checkNetworkStatus()==true){				//وصل است				}else{					//وصل نیست!				}
و برای رفتن به قسمت تنظمیات وایرلس:
startActivityForResult(new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS), 0);
و برای رفتن به بخش روشن کردن وای فای:
startActivityForResult(new Intent(android.provider.Settings.ACTION_WIFI_SETTINGS), 0);
سلام و درود به شما

پژمان عزیز اول سپاس و تشکر از لطف و محبت شما بابت راهنمایی

:give_rose::give_rose::give_rose:

و در این قسمت از کد مقدار

cc

رو نمیشناسه که احتمالا باید بالا تر معرفی کنم !!

اگر ممکنه راهنمایی بفرمایید ممنون میشم

مرسی :give_rose::give_rose::give_rose:

private boolean checkNetworkStatus(){

final ConnectivityManager connMgr = (ConnectivityManager)

cc.getSystemService(Context.CONNECTIVITY_SERVICE);

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام و درود به شما

پژمان عزیز اول سپاس و تشکر از لطف و محبت شما بابت راهنمایی

:give_rose: :give_rose: :give_rose:

و در این قسمت از کد مقدار

cc

رو نمیشناسه که احتمالا باید بالا تر معرفی کنم !!

اگر ممکنه راهنمایی بفرمایید ممنون میشم

مرسی :give_rose: :give_rose: :give_rose:

private boolean checkNetworkStatus(){

final ConnectivityManager connMgr = (ConnectivityManager)

cc.getSystemService(Context.CONNECTIVITY_SERVICE);

اینجا cc همون context ، اگه از این کد توی اکتیویتی استفاده میکنین میتونین کلا .cc رو پاک کنین چون نیازی بهش نیست و getSystemService به تنهایی هم کار میکنه

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام و درود به شما

پژمان عزیز اول سپاس و تشکر از لطف و محبت شما بابت راهنمایی

:give_rose: :give_rose: :give_rose:

و در این قسمت از کد مقدار

cc

رو نمیشناسه که احتمالا باید بالا تر معرفی کنم !!

اگر ممکنه راهنمایی بفرمایید ممنون میشم

مرسی :give_rose: :give_rose: :give_rose:

private boolean checkNetworkStatus(){

final ConnectivityManager connMgr = (ConnectivityManager)

cc.getSystemService(Context.CONNECTIVITY_SERVICE);

آره دقیقا ببخشید چون من از یکی از پروژه های خودم کپیش کرده بودم یادم رفته بود.

همونطور که آقا امین گفت میتونید کلا ورش دارید یا جاش بنویسید getApplicationContext()

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

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

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...