溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android - 使用Intent來啟動Activity

發布時間:2020-06-27 03:07:39 來源:網絡 閱讀:364 作者:morndragon 欄目:移動開發

使用Intent來啟動Activity


本文地址: http://blog.csdn.net/caroline_wendy/article/details/21455141


Intent的用途是綁定應用程序組件, 并在應用程序之間進行通信;

startActivity(), 傳遞Intent參數, 創建并顯示一個Activity;

使用Intent解析(resolution)動態的選擇最匹配的Activity.


顯示啟動Activity:

創建一個Intent, 指定當前的語境(context)Activity類(class), 然后傳遞給startActivity()進行創建;

簡易說明:

Intent intent = new Intent (MyActivity.this, MyOtherActivity.class);

startActivity(intent);


隱式啟動Activity:

可以讓匿名的應用程序組件響應動作請求, 如Intent傳遞一個撥號動作(ACTION_DIAL), 和電話號碼(URI);

注: URI, Uniform Resource Identifier, 通用資源標示符;

Android將在運行時把Intent解析為最合適在指定數據類型上執行所需動作的類;

如果有多個Activity都能夠執行該動作, 則會向用戶提供多重選項, 如訪問URL, 會提示選擇瀏覽器;

使用resolveActivity()方法, 可以判斷, Android是否可以解析Intent;


代碼:

    @Override     protected void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         setContentView(R.layout.activity_main); //把布局填充到用戶界面          Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:13800001111"));          PackageManager pm = getPackageManager();         ComponentName cn = intent.resolveActivity(pm);          if (cn == null) {             Uri marketUri = Uri.parse("market://search?q=pname:com.myapp.packagename");             Intent marketIntent = new Intent(Intent.ACTION_VIEW).setData(marketUri);              if (marketIntent.resolveActivity(pm) != null)                 startActivity(marketIntent);             else                 Log.d(TAG, "Market client not available");         } else             startActivity(intent);     }

簡單的HelloWorld程序, 添加Intent隱式啟動Activity, 可以運行;



Android - 使用Intent來啟動Activity

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女