跳轉到其他 Activity
這是最常見的用法,將使用者引導到另一個頁面。
val btnGoToActivity = findViewById<Button>(R.id.btn_go_to_activity)
btnGoToActivity.setOnClickListener {
startActivity(Intent(this, SecondActivity::class.java))
}
跳轉到設定頁面
當我們判別到 app 需要的功能沒有開啟,可以使用 AlertDialog 配合 Intent 來引導使用者開啟功能。
val btnGoToSetting = findViewById<Button>(R.id.btn_go_to_setting)
btnGoToSetting.setOnClickListener {
startActivity(Intent(Settings.ACTION_SETTINGS))
}
其他常用設定頁面的常數如下:
Settings.ACTION_SETTINGS — 設定頁面
Settings.ACTION_AIRPLANE_MODE_SETTINGS — 飛航模式設定
Settings.ACTION_LOCATION_SOURCE_SETTINGS — 位置服務設定
完整的資料可以到 android.provider.Settings 查看
完整程式碼
MainActivity.xml
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val btnGoToActivity = findViewById<Button>(R.id.btn_go_to_activity)
btnGoToActivity.setOnClickListener {
startActivity(Intent(this, SecondActivity::class.java))
}
val btnGoToSetting = findViewById<Button>(R.id.btn_go_to_setting)
btnGoToSetting.setOnClickListener {
startActivity(Intent(Settings.ACTION_SETTINGS))
}
}
}
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center"
tools:context=".MainActivity">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/btn_go_to_activity"
android:text="Go to Activity" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/btn_go_to_setting"
android:text="Go to Setting" />
</LinearLayout>
Comments