Android Intent 跳轉

intent跳轉

最基礎:

Intent intent = new Intent();
intent.setClass(MainActivity.this,TwoActivity.class);
startActivity(intent);

隱式跳轉:

打開main文件夾下的AndroidManifest.xml文件

新建

在裏面新建

再新建一個 *action必須創建

新建一個 *如果需要隱式跳轉必須建立

Action:

ACTION_CALL activity 啓動一個電話.

ACTION_EDIT activity 顯示用戶編輯的數據.

ACTION_MAIN activity 作爲Task中第一個Activity啓動

ACTION_SYNC activity 同步手機與數據服務器上的數據.

ACTION_BATTERY_LOW broadcast receiver 電池電量過低警告.

ACTION_HEADSET_PLUG broadcast receiver 插拔耳機警告

ACTION_SCREEN_ON broadcast receiver 屏幕變亮警告.

ACTION_TIMEZONE_CHANGED broadcast receiver 改變時區警告.

Category:

CATEGORY_DEFAULT:Android系統中默認的執行方式,按照普通Activity的執行方式執行。表示所有intent都可以激活它

CATEGORY_HOME:設置該組件爲Home Activity。

CATEGORY_PREFERENCE:設置該組件爲Preference。

CATEGORY_LAUNCHER:設置該組件爲在當前應用程序啓動器中優先級最高的Activity,通常爲入口ACTION_MAIN配合使用。

CATEGORY_BROWSABLE:設置該組件可以使用瀏覽器啓動。表示該activity只能用來瀏覽網頁。

CATEGORY_GADGET:設置該組件可以內嵌到另外的Activity中。

示例一:

打電話

Intent intent = new Intent(“android.intent.action.CALL”);
intent.setAction(Intent.ACTION_CALL);
intent.setData(Uri.parse(“tel:133333333”));
startActivity(intent);

示例二:

跳轉界面

Intent intent = new Intent();
intent.setAction(“com.example.intentchange.TwoActivity”);

儲存數據跳轉

MainActivity

創建

Intent intent = new Intent();
Bundle bundle = new Bundle();

存放字符串 鍵值對存放 key->value

bundle.putString(“users”,“xd”);

存放界面中的值

bundle.putString(“id”,id.getText().toString()); 獲取文本 轉爲字符串

將bundle中的數據轉到intent中

intent.getExtras(bundle);

獲取跳轉

1、顯式

intent.setClass(MainActivity.this,TwoActivity.class);
startActivity(intent);

2、隱式

intnet.setAction(“com.example.intent.MainActivity”);
startActivity(intent);

TwoActivity

創建bundle接收數據
Bundle bundle = getIntent().getExtras();

String users = bundle.getString(“users”); 獲取傳遞的字符串

Staring text1 = bundle.getString(“id”); 獲取傳過來的文本

text_put.setText(“users:”+users+“id”+text1); 輸出獲取的文本

獲取後返回內容

MainActivity

啓動時 將startActivity(intent)換成 startActivityForResult(intent,1); 1爲返回值

創建一個 新的方法 onActivityResult 用來獲取返回內容
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);

    switch (requestCode){     獲取返回值進行判斷
        case 1:
            if(resultCode == RESULT_OK){   結果值爲RESULT_OK進行以下步驟
                //取數據
                String res = data.getStringExtra("result");  獲取返回的內容

                Toast.makeText(MainActivity.this,s,Toast.LENGTH_SHORT).show(); 通過彈出的方式顯示出來

            }
            break;

            default:
                break;
    }

TwoActivity

創建跳轉
Intent intent = new Intent();

獲取要返回的內容
intent.putExtra(“result”,“接收成功”);

隱式跳轉回主界面
intent.setAction(“android.intent.action.MAIN”);

setResult(RESULT_OK,intent); RESULT_OK系統自帶結果值 創建的跳轉

finish(); 然後系統知道完成

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章