編輯:Android開發教程
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, 可以運行;
 
變態問題常有,今年特別多,,, - - # 今天遇到的這個非處理不可,不然沒法在HTC One S使用SearchView,其軟鍵盤不支持action設置。問題設備:HT
采用openfire作為服務器,這樣不需要再寫一個服務器,會節省不少事情,openfire經過簡單的配置就可以實現一個通信服務器的基本功能,Openfire采用Java開
這兩天需要做音視頻播放相關的東西,所以重新找了目前android下的解碼庫。Android自帶的解碼庫支持不全,因此很多第三方播放器都是自帶解碼器,絕大部分都是使用FFM
最近對Google開發的開源智能手機操作系統Android比較感興趣,因此根據網上的資料下載了Eclipse,Android SDK3.0,並根據提示的步驟進行了環境的配