編輯:關於Android編程
二、Android系統怎麼找?
主要是通過Intent Filter來尋找與隱式Intent相關的對象。具體的選擇方法是:Android將Intent的請求內容
三、
1). 一條
五、Intent.Action(安卓系統內置動作)的常見用法:
1. Intent.ACTION_MAIN
String: android.intent.action.MAIN
作用:標識Activity為一個程序的開始(表明app首先執行的Activity)。比較常用。
Input: nothing
Output: nothing
例:
Intent intent = new Intent(); intent.setAction(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_HOME); startActivity(intent);
Intent intent=new Intent();
intent.setAction(Intent.ACTION_CALL);//設置當前動作為撥打電話
intent.setData(Uri.parse("tel:1320010001"));//設置要撥打的電話
startActivity(intent);
Intent intent = new Intent();
intent.setAction(Intent.ACTION_DIAL);//設置當前動作為調用撥號盤
intent.setData(Uri.parse("tel:1584014xxxx"));//設置准備要撥打的電話
startActivity(intent);
//Button的點擊事件-直接撥打電話
Button btn_call = (Button) findViewById(R.id.Call);
btn_call.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.setAction(Intent.ACTION_CALL);//設置當前動作為撥打電話
intent.setData(Uri.parse("tel:1584014xxxx"));//設置要撥打的電話
startActivity(intent);
}
});
//Button的點擊事件-直接撥打電話
Button btn_dial = (Button) findViewById(R.id.Dial);
btn_dial.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.setAction(Intent.ACTION_DIAL);//設置當前動作為調用撥號盤
intent.setData(Uri.parse("tel:1584014xxxx"));//設置准備要撥打的電話
startActivity(intent);
}
});
//獲取用戶輸入電話號碼的EditText
final EditText edt_phoneNumber = (EditText) findViewById(R.id.phonebunber_id);
//Button點擊事件-用戶自己撥號
Button btn_userCall = (Button) findViewById(R.id.userCall);
btn_userCall.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//先驗證用戶輸入電話的有效性(使用安卓自帶的包來判斷電話的有效性)
String phoneNumber = edt_phoneNumber.getText().toString();
if(PhoneNumberUtils.isGlobalPhoneNumber(phoneNumber)){
Intent intentDial = new Intent();
intentDial.setAction(Intent.ACTION_CALL);//設置當前為用戶自定義撥號
intentDial.setData(Uri.parse("tel:"+ phoneNumber));
startActivity(intentDial);
//提示用戶電話輸入有誤
} else {
Toast.makeText(CallActivity.this, "你輸入的電話有誤,請重新輸入", Toast.LENGTH_SHORT)
.show();
}
}
});
說明:這裡演示幾個簡單的應用;
//Button的點擊事件-打開地圖
Button btn_geo = (Button) findViewById(R.id.geo);
btn_geo.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);//設置當前動作
intent.setData(Uri.parse("geo:39.899533,116.036476"));//打開地圖定位(直接打開你手機上的地圖軟件)
startActivity(intent);
}
});
//Button的點擊事件-打開浏覽器
Button btn_http = (Button) findViewById(R.id.http);
btn_http.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);//設置當前動作
intent.setData(Uri.parse("http://www.baidu.com"));//打開浏覽器並打開百度
startActivity(intent);
}
});
//Button的點擊事件-打開一張照片
Button btn_image = (Button) findViewById(R.id.image);
btn_image.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);//設置當前動作
//你若不清楚你的存儲路勁,可以在DDMS下查看
Uri uri = Uri.parse("file:///storage/sdcard1/DCIM/Camera/IMG_20150622_172748.jpg");
intent.setDataAndType(uri, "image/*");
startActivity(intent);
}
});
//Button的點擊事件-打開視頻
Button btn_video = (Button) findViewById(R.id.video);
btn_video.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);//設置當前動作
Uri uri = Uri.parse("file:///storage/sdcard1/---");
intent.setDataAndType(uri, "video/*");
startActivity(intent);
}
});
//Button的注冊事件-查看通訊錄
Button SeeContacts_BT = (Button) findViewById(R.id.SeeContacts);
SeeContacts_BT.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setData(Uri.parse("content://contacts/people/1"));//查看通訊錄中的第一個聯系人
startActivity(intent);
}
});
String number = numberET.getText().toString();// 獲得用戶輸入的號碼
String message = messageET.getText().toString();// 獲得用戶輸入的短信
if(PhoneNumberUtils.isGlobalPhoneNumber(number)) {
Intent intent = new Intent();// 創建Intent對象
intent.setData(Uri.parse("smsto:" + number)); // 設置要發送的號碼
intent.putExtra("sms_body", message); // 設置要發送的信息內容
startActivity(intent);// 將Intent傳遞給Activity
} else {
Toast.makeText(SendToActivity.this, "你輸入的電話錯誤,請重新輸入!",
Toast.LENGTH_SHORT).show();
}
(安卓發送短信的方式有2種: 第一種:就是上面寫的這個 -> 調起系統發短信功能;
6. Intent.ACTION_BATTERY_LOW
作用:顯示電量低的警告信息
說明:因為這一塊用到廣播,所以具體的實現辦法在復習有關廣播的知識時寫
7. Intent.ACTION_EDIT
作用:編輯通訊錄中某條特定的聯系人信息
例:
Intent intent = new Intent();
intent.setAction(Intent.ACTION_EDIT);
intent.setData(Uri.parse("content://contacts/people/1"));//修改通訊錄中的第一個聯系人
startActivity(intent);
1.http://blog.csdn.net/coder80/article/details/7879259
2.http://www.cnblogs.com/hanyonglu/archive/2012/03/26/2417278.html
3.《Android程序開發范例寶典》
Android UI設計系列之自定義Dialog實現各種風格的對話框效果(7)
雖然Android給我們提供了眾多組件,但是使用起來都不是很方便,我們開發的APK都有自己的風格,如果使用了系統自帶的組件,總是覺得和應用的主題不著邊際並且看起來也不順心
自定義View之MenuItemView
著手開發一款應用的時候,設置或者菜單頁面是可能需要的,但是,那重復的布局會很令人苦惱。新手可能會一項項的重復繪制,有經驗的你或許會用到include,或者用到組合控件。除
Android項目之HomeHealth基礎學習1:Service
一、 Service簡介 Service是android 系統中的四大組件之一(Activity、Service、BroadcastReceiver、ContentP
Android開發筆記之:用Enum(枚舉類型)取代整數集的應用詳解
在Android的API中可以發現有很多用整數集來作為參數的地方,先來看一下實例。LinearLayout是大家所熟知的一個UI基本元素,它裡面有一個方向的屬性,可以通過