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)

猜你喜欢

转载自blog.csdn.net/android_xpp/article/details/84175963