一、startActivity方法的基本用法
Android中的Activity是一種基本的應用組件,可以用來展示用戶界面和處理用戶的交互。在Android中啟動一個新的Activity時,需要使用startActivity方法。startActivity方法可以接收一個Intent對象作為參數,並根據Intent中包含的信息來啟動一個新的Activity。下面是示例代碼:
Intent intent = new Intent(this, SecondActivity.class); startActivity(intent);
其中,第一個參數this表示當前Activity的上下文對象,即當前Activity的實例引用。第二個參數是要啟動的Activity的Class對象,即要啟動的Activity的類。這裡我們要啟動的是名為SecondActivity的Activity。
在AndroidManifest.xml文件中需要註冊SecondActivity:
<activity android:name=".SecondActivity">
這樣就可以調用startActivity方法來啟動SecondActivity了。
二、startActivityForResult方法的使用
startActivityForResult方法可以啟動一個新的Activity,並且可以接收該Activity返回的結果。在啟動新的Activity時,可以傳遞一些參數供新的Activity使用。下面是示例代碼:
Intent intent = new Intent(this, SecondActivity.class); intent.putExtra("name", "張三"); intent.putExtra("age", 20); startActivityForResult(intent, 1);
在這個示例中,除了啟動SecondActivity之外,還傳遞了兩個參數,一個是name,一個是age。然後調用了startActivityForResult方法,第一個參數是要啟動的Activity的Intent對象,第二個參數是requestCode,用於標識該請求的唯一性。
在啟動的Activity中,如果要返回結果,可以使用如下代碼:
Intent intent = new Intent(); intent.putExtra("result", "success"); setResult(RESULT_OK, intent); finish();
在這個示例中,我們新建了一個Intent對象,並且向其中添加了一個result參數。然後調用了setResult方法,第一個參數是返回碼,表示該返回結果是正常返回的結果。第二個參數是Intent對象,用於存儲要返回的數據。最後調用了finish方法來關閉該Activity。
在啟動的Activity返回之後,會調用onActivityResult方法,可以在該方法中接收返回的結果,處理並顯示出來。下面是示例代碼:
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == 1 && resultCode == RESULT_OK) { String result = data.getStringExtra("result"); Toast.makeText(this, "返回結果:" + result, Toast.LENGTH_SHORT).show(); } }
在這個示例中,我們判斷了requestCode和resultCode是否符合預期,然後從Intent對象中取出返回的結果,並將其顯示出來。
三、使用Action啟動其他應用的Activity
在Android中,一個應用可以使用Action來啟動另外一個應用的Activity。可以使用隱式Intent來指定Action。下面是示例代碼:
Intent intent = new Intent(); intent.setAction(Intent.ACTION_VIEW); intent.setData(Uri.parse("http://www.baidu.com")); startActivity(intent);
在這個示例中,我們新建了一個Intent對象,並且使用了ACTION_VIEW來指定Action,然後使用setData方法來指定要查看的網址。最後使用startActivity方法來啟動對應的Activity。
四、使用Category區分Activity
在Android中,可以使用Category來區分Activity。可以使用Intent的addCategory方法來添加Category。下面是示例代碼:
Intent intent = new Intent(this, SecondActivity.class); intent.addCategory(Intent.CATEGORY_DEFAULT); startActivity(intent);
在這個示例中,我們添加了一個Category_DEFAULT,然後使用startActivity來啟動對應的Activity。
五、新建Task啟動Activity
在Android中,可以使用NEW_TASK Flag來啟動一個新的Task。下面是示例代碼:
Intent intent = new Intent(this, SecondActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent);
在這個示例中,我們添加了一個FLAG_ACTIVITY_NEW_TASK標誌位,並且使用startActivity來啟動對應的Activity。
總結
本文詳細介紹了Android中startActivity方法的基本用法、startActivityForResult方法的使用、使用Action啟動其他應用的Activity、使用Category區分Activity以及新建Task啟動Activity。這些方法都是Android開發中經常用到的方法,對於學習和掌握Android開發非常重要。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/188986.html