Intent和IntentFilter
package com.example.intentdemo; import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void btn_startSecond_onclick(View view) { Intent intent = new Intent(MainActivity.this, SecondActivity.class); startActivity(intent); //调用Activity给提供的startActivity方法将intent传入 } }
data属性赋值为http或https,也就是说当我们传递了具有http开头或者https开头的网址的时候,也就是符合了过滤器所需要过滤出来的数据的特征的时候,就能够筛选出我们自定义的浏览器作为启动的一个备选的应用
原理可以看做是白名单的筛选的模式,凡是我们要打开的应用符合我们所制定的属性的值的时候,都可以筛选出来作为我们的备选项
Activity的传值
Activity的生命周期
package com.example.activity_lifecycle; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import javax.security.auth.login.LoginException; public class MainActivity extends AppCompatActivity { private static final String TAG = "MainActivity"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Log.e(TAG, "onCreate: is running"); } @Override protected void onStart() { super.onStart(); Log.e(TAG, "onStart: is running"); } @Override protected void onResume() { super.onResume(); Log.e(TAG, "onResume: is running"); } @Override protected void onPause() { super.onPause(); Log.e(TAG, "onPause: is running"); } @Override protected void onStop() { super.onStop(); Log.e(TAG, "onStop: is running"); } @Override protected void onDestroy() { super.onDestroy(); Log.e(TAG, "onDestroy: is running"); } }
Activity的启动模式
可以多次启动同一个Activity
package com.example.launchmodedemo; import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; public class MainActivity extends AppCompatActivity { private static final String TAG = "MainActivity"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Log.e(TAG, "onCreate: "+this.toString() ); } public void btn_start(View view) { Intent intent = new Intent(this, MainActivity.class); startActivity(intent); } }
登录模块开发