2016-11-06 64 views
0

我正在尝试创建一个登录注册应用程序。显然,我的应用程序需要互联网连接才能启动。我遵循同样问题的其他用户的答案,但即使没有互联网连接,我的应用程序仍会启动。提前致谢。如何防止应用程序在没有互联网连接时运行

这里是我的清单

<?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> 

和活动是在这里:

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

我需要在我的登录活动中放些东西吗? – newb

+0

'public class LogInActivity extends Activity { @Override protected 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); } public void MScreen(View view){ Intent intent = new Intent(this,MainScreen.class); startActivity(intent); } }' – newb

回答

0

在你的活动你的onCreate函数中添加以下;

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

非常感谢你!尽管我更正了(Conenctivity Manger)中的一些错误,但它们之间不应有空格,并且我将context.getSystemService的上下文删除。 – newb

相关问题