package com.example.firstcode;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
private Button btn1;
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn1=findViewById(R.id.btn1);
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent =new Intent(MainActivity.this,Main2Activity.class);
startActivity(intent);
}
});
}
}
点击BUTTON1后截图如下
隐式intent
实现点击按钮跳转到另外一个界面(实现和上面的功能效果一样)
通过在<activity-标签下配置<intent-filter-的内容,可以指定当的活动能够响应的
action 和category,打开 AndroidManifest.xml,添加如下代码:
action android:name=“com, example.activitytest. ACTION_ START” />
<category android: name-“android.intent.category.DEFAULT” />
在saction>标签中我们指明了当前活动可以响应 com.example.activitytest.ACTION
START 这个action,而scategory-标签则包含了一些附加信息,更精确地指明了当前的活动能
够响应的 Intent 中还可能带有的category。只有<action~和ccategory=中的内容同时能够匹配
上Intent中指定的action 和 category 时、这个活动才能响应该 Intent.
修改 MainActiviy 中btn1的点击 代码如下
buttonl.setOnClicklistenerinewView.OnClackListener()(
@Override
public void onclick(View vI (
Intent intent = new Intent (“com,example,activitytest.ACTION START”);
startActivity(intent);
最后发现实现了上述的功能
接下来我们使用隐式intent实现点击按钮跳转得到网页:
不需要建立另外一个java和xml文件,在MainActivity.java中btn1的方法下加入
Intent intent =new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(“http://www.baidu.com”));
startActivity(intent);
点击button1的按钮效果如下
点击后效果截图
使用隐式intent
实现点击按钮跳转到电话界面
和实现网页方法相同但是Android除了 http 协议外,我们还可以指定很多其他协议,比如 ge0 表示显示地理位置、tel 表示拨打
电话。下面的代码展示了如何在我们的程序中调用系统拨号界面。
btn1. setOnClickListener(new View. OnClickListener() [
@Override
public void onClick(View v) {
Intent intent = new Intent (Intent.ACTION_DIAL):
intent.setData(Uri.parse(“tel:10086”));
startActivity(intent);
}
});
首先指定了 Intent 的action 是 Intent.ACTION_ DIAL,这又是一个 Android 系统的内置动
作。然后在 data 部分指定了协议是iel,号码是 10086。
MainActivity.java
package com.example.firstcode;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
private Button btn1;
@Override
public boolean onCreateOptionsMenu(Menu menu) {