標籤:
1.Activity
方法:startActivityForResult 和 onActivityResult 相互呼應,
用於處理返回結果的行為,如微博上使用者點擊某張圖片發布上去
2.Uri
靜態方法:
Uri.fromParts("package", "com.hq.myapp", null);
Uri.parse(mailto:[email protected])
Uri.fromFile(new File(filename))
普通方法:
getPath();
3.Intent
普通方法:
addCategory(Intent.CATEGORY_OPENABLE);
setType("image/*");
setData(ContactsContract.Contacts.CONTENT_URI);
addFlags(int flags);
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button bt=(Button)findViewById(R.id.bt); bt.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // intent的作用: //1.呼叫瀏覽器 Uri uri1=Uri.parse("http://www.baidu.com");//data資料 Intent intent1=new Intent(); intent1.setAction(Intent.ACTION_VIEW); intent1.setData(uri1); //2.撥打電話功能 Uri uri2=Uri.parse("tel:10086"); Intent intent2=new Intent(android.content.Intent.ACTION_CALL,uri2); //3.傳送簡訊 Uri uri3=Uri.parse("smsto:10086"); Intent intent3=new Intent(Intent.ACTION_SENDTO,uri3); intent3.putExtra("sms_body", "welcome to android world"); //4.寄送電子郵件,自己可能有多個郵件用戶端,所以用 intent.createChooser()建立一個ACTION_CHOOSER的intent //1.收件者地址,發送郵件的動作 Uri uri4=Uri.parse("mailto:[email protected]"); Intent intent4=new Intent(Intent.ACTION_SEND,uri4); //2.自己的郵件用戶端,和發送的內容 intent4.putExtra(Intent.EXTRA_EMAIL, "[email protected]"); intent4.putExtra(Intent.EXTRA_TEXT, "android mail"); //3.指定data資料的類型,預設值 intent4.setType("text/plain"); //createChooser啟動intent startActivity(Intent.createChooser(intent4, "選擇Email用戶端")); //6.播放多媒體檔案 //1.動作:顯示視圖 Intent intent6=new Intent(); intent6.setAction(Intent.ACTION_VIEW); //2.設定data和type Uri uri6=Uri.parse("file:///sdcard/01.mp3"); intent6.setDataAndType(uri6, "audio/mp3"); //7.安裝APK檔案 //1.動作:顯示視圖 Intent intent7=new Intent (); intent7.setAction(Intent.ACTION_VIEW); //2.setDataAndType //2.1 擷取file的路徑:Environment.getEx String filename=Environment.getExternalStorageDirectory()+"mapp.apk"; intent7.setDataAndType(Uri.fromFile(new File(filename)), "application/vnd.android.package-archive"); //8.卸載應用程式:卸載的路徑(Uri),卸載的動作(delete) Uri uri8=Uri.fromParts("package", "com.hq.myapp", null); Intent intent8=new Intent(Intent.ACTION_DELETE,uri8); //9.訪問連絡人 Intent intent9 =new Intent(); intent9.setAction(Intent.ACTION_VIEW); intent9.setData(ContactsContract.Contacts.CONTENT_URI); }}); //10.從圖庫中選擇圖片 //startActivityForResult(intent, requestCode); //該intent要返回一張圖片(result),所以要調用該方法 //onActivityResult(int requestCode, int resultCode, Intent data) //兩個code的是匹配哪個intent返回的,intent包含了使用者選擇的結果資料。 Intent intent=new Intent(); //1.動作:擷取內容get_content intent.setAction(Intent.ACTION_GET_CONTENT); //2.資料類型Type,image/* intent.setType("image/*"); //3.add類別:該內容必須是可以開啟的 intent.addCategory(Intent.CATEGORY_OPENABLE); //4.啟動ForResult方法, startActivityForResult(intent, 0); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { //匹配對應的Intent if(requestCode==0&& resultCode==Activity.RESULT_OK) { //擷取data:uri Uri uri=data.getData(); //顯示圖片 Toast.makeText(this,uri.getPath(), 100); } }
android-Intent應用