1. 程式人生 > >Android intent 隱式用法

Android intent 隱式用法

通過隱式用法從MainActivity跳轉到SecondActivity

manifests

 <activity android:name=".Next">
            <intent-filter>
                <category android:name="android.intent.category.DEFAULT"></category>
                <action android:name="com.example.a18484.text.intent"></action>		//here
            </intent-filter>
        </activity>

這時Main的intent方法則通過查詢here行程式碼內name的值來確定啟動的活動

SecondActivity

public class SecondActivity extends AppCompatActivity {
    public static final String name = "com.example.a18484.text.intent"; 
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_next);
    }
}

在第二行,為了方便起見,將配置檔案中的資訊用name表示

MainActivity

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                startActivity(new Intent(SecondActivity.name));
            }
        });
    }
}

隱式用法不用向new Intent()內傳入兩個活動,取而代之的是搜尋配置檔案與SecondActivity.name值相同的Activity(在本文中是SecondActivity)