2016-11-06 2 views
0

Ich versuche, eine Anwendung für die Anmeldung zu erstellen. Nun, offensichtlich benötigt meine App eine Internetverbindung für den Start. Ich folgte den Antworten anderer Benutzer mit dem gleichen Problem, aber meine App startet auch ohne Internetverbindung. Danke im Voraus.So verhindern Sie, dass die Anwendung ausgeführt wird, wenn keine Internetverbindung besteht

Hier ist mein Manifest

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

    <uses-sdk 
     android:maxSdkVersion="24" 
     android:minSdkVersion="16" /> 

    <supports-screens 
     android:anyDensity="true" 
     android:largeScreens="true" 
     android:normalScreens="true" 
     android:resizeable="true" 
     android:smallScreens="true" 
     android:xlargeScreens="true" /> 

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



    <application 
     android:allowBackup="true" 
     android:icon="@drawable/logo" 
     android:label="@string/app_name" 
     android:supportsRtl="true" 
     android:theme="@style/AppTheme"> 

     <activity 
      android:name=".LogInActivity" 
      android:screenOrientation="portrait"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity 
      android:name=".MainScreen" 
      android:screenOrientation="landscape" /> 
     <activity android:name=".Register" 
        android:screenOrientation="portrait"></activity> 
    </application> 

</manifest> 

und die Aktivität ist hier:

public class LogInActivity extends Activity { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     requestWindowFeature(Window.FEATURE_NO_TITLE); 
     getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCR‌​EEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 
     setContentView(R.layout.activity_log_in); 
    } 

    public void MScreen(View view) { 
     Intent intent = new Intent(this, MainScreen.class); 
     startActivity(intent); 
    } 
} 
+0

Muss ich etwas in meine Login-Aktivität eingeben? – newb

+0

'Öffentliche Klasse LogInActivity erweitert Aktivität { @Override geschützter void onCreate (Bundle savedInstanceState) { super.onCreate (savedInstanceState); requestWindowFeature (Window.FEATURE_NO_TITLE); getWindow(). SetFlags (WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView (R.layout.activity_log_in); } öffentlichen void MScreen (View anzeigen) { Absicht intent = neue Absicht (this, MainScreen.class); startActivity (Absicht); } } ' – newb

Antwort

0

In Ihrer onCreate Funktion Ihrer Aktivität fügen Sie die folgenden;

ConnectivityManager cm = (Connectivity Manager) context.getSystemService(Context.CONNECTIVITY_SERVICE); 
NetworkInfo activeNetwork = cm.getActiveNetworkInfo(); 
boolean isConnected = activeNetwork != null && activeNetwork.isConnectedOrConnecting(); 
if (!isConnected) 
{ 
    // Toast... (Show some notification. 
    finish(); 
} 
+0

vielen Dank! obwohl ich einige Fehler auf dem (Conenctivity Manger) korrigiert habe, sollte kein Leerzeichen dazwischen liegen und ich entfernte den Kontext bei context.getSystemService. – newb

Verwandte Themen