Android_Intent調用大全

android Intent 調用大全

1.從google搜索內容

Intentintent = new Intent();

intent.setAction(Intent.ACTION_WEB_SEARCH);

intent.putExtra(SearchManager.QUERY,"要搜索的內容");

startActivity(intent);

註:會調用手機系統自帶的瀏覽器

2.瀏覽網頁

Uriuri = Uri.parse("https://www.google.com");//要打開的網址

Intent it = new Intent(Intent.ACTION_VIEW,uri);

startActivity(it);

註:會調用手機系統自帶的瀏覽器

3.顯示地圖

Uriuri = Uri.parse("geo:108.891842,34.198989");//輸入緯度,經度

Intent it = new Intent(Intent.ACTION_VIEW,uri);

startActivity(it);

註:調用手機自帶地圖,但一般情況,定位都定位不出來;建議不要使用這種方式

4.路徑規劃

Uriuri = Uri.parse("https://map.baidu.com/?newmap=1&ie=utf-8&s=s%26wd%3Duninstall%2520");

Intent it = new Intent(Intent.ACTION_VIEW,uri);

startActivity(it);

註:不知道這個路徑到底要輸入什麼,反正從來沒有成功過;建議不要使用這種方式

5.打開撥號界面

Uriuri = Uri.parse("tel:18792681661");

Intent it = new Intent(Intent.ACTION_DIAL, uri);

startActivity(it);

註:打開撥號界面,顯示電話號碼,但沒有撥號出去

6.撥打電話

Uriuri = Uri.parse("tel:10086");

Intent intent = new Intent(Intent.ACTION_CALL, uri);

if (ActivityCompat.checkSelfPermission(this, Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {

ActivityCompat.requestPermissions(this,newString[]{Manifest.permission.CALL_PHONE},0);

return;

}

startActivity(intent);

註:撥打電話,需要添加權限;並targetSDK為22及以上都要添加如下代碼,彈出獲取授權對話框

if (ActivityCompat.checkSelfPermission(this, Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {

ActivityCompat.requestPermissions(this,newString[]{Manifest.permission.CALL_PHONE},0);

return;

}

7.調發短信的程序

Intentit = new Intent(Intent.ACTION_VIEW);

it.putExtra("sms_body", "The SMS text");//隻有短信內容

it.setType("vnd.android-dir/mms-sms");

startActivity(it);

Uriuri = Uri.parse("smsto:18792681661");//短信接收人

Intent it = new Intent(Intent.ACTION_SENDTO,uri);

it.putExtra("sms_body", "The SMS text");//短信內容

startActivity(it);

註:隻是打開短信應用,不會直接發送出去

8.卸載應用

Uriuri = Uri.fromParts("package", "要卸載的應用的包名", null);

Intent it = new Intent(Intent.ACTION_DELETE, uri);

startActivity(it);

Uriuri=Uri.parse("package:要卸載的應用的包名");

Intent intent = new Intent(Intent.ACTION_DELETE,uri);

startActivity(intent);

註:會彈出一個是否要卸載的系統對話框;如果沒有要卸載的應用,也會彈出系統對話框提示

9.打開圖片選擇器

Intentintent = new Intent();

intent.setType("image/*");

intent.setAction(Intent.ACTION_GET_CONTENT);

startActivityForResult(intent, 11);

註:在onActivityResult方法中接收選擇的圖片

@Override

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

if (data != null) {

// 得到圖片的全路徑

Uri uri = data.getData();

/**通過路徑加載圖片,這裡省去瞭圖片縮放操作,如果圖片過大(16M),可能會導致內存泄漏java.lang.OutOfMemoryError */

mImg.setImageURI(uri);

//獲取圖片的縮略圖,可能為空!

//Bitmap bitmap = data.getParcelableExtra("data");

//mImg.setImageBitmap(bitmap);

}

super.onActivityResult(requestCode, resultCode, data);

}

10.打開錄音機

Intentintent = new Intent(MediaStore.Audio.Media.RECORD_SOUND_ACTION);

startActivity(intent);

註:會打開手機自帶的錄音機

11.尋找應用

Uriuri = Uri.parse("market://search?q=pname:應用包名");

Intent it = new Intent(Intent.ACTION_VIEW, uri);

startActivity(it);

Uri uri = Uri.parse("market://search?q=應用名稱");

Intent it = new Intent(Intent.ACTION_VIEW, uri);

startActivity(it);

註:會打開手機自帶手機助手應用以供選擇,在手機助手中進行搜索(包名或者應用名稱)

12.打開聯系人列表,並選擇獲取聯系人和號碼

Uriuri = Uri.parse("content://contacts/people");

Intent it = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);

startActivityForResult(it, 1);

String PhoneName = "";//所選聯系人

String PhoneNum = "";//所選聯系人電話

Uri contactUri = data.getData();//該數據URI是一個指向用戶所選聯系人的定位符

Cursor c = getContentResolver().query(contactUri, null, null, null, null); //查詢聯系人數據庫,獲得一個可用的Cursor

if(c.moveToFirst()) {//將Cursor移動到第一條記錄

PhoneName = c.getString(c.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));//通過Cursor c獲得聯系人名字

String phoneId = c.getString(c.getColumnIndex(ContactsContract.Contacts._ID));//通過Cursor c獲得聯系人id

if (ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_CONTACTS) != PackageManager.PERMISSION_GRANTED ||

ActivityCompat.checkSelfPermission(this, Manifest.permission.WRITE_CONTACTS) != PackageManager.PERMISSION_GRANTED) {

ActivityCompat.requestPermissions(this,new String[]{Manifest.permission.READ_CONTACTS,Manifest.permission.WRITE_CONTACTS},0);

return;

}

Cursor c2 = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,

ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=" + phoneId, null, null);

//在ContactsContract.CommonDataKinds.Phone.CONTENT_URI裡,

// 通過上面獲得的聯系人id獲得一個新的Cursor c2

if(c2.moveToFirst()){

PhoneNum = c2.getString(c2.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); //通過Cursor c2獲得聯系人電話

}

c2.close(); //關閉Cursor c2

c.close(); //關閉Cursor c

Log.e("Lking","PhoneName = "+PhoneName);

Log.e("Lking","PhoneNum = "+PhoneNum);

}

註:在獲取聯系人信息的時候,需要添加權限;並targetSDK為22及以上都要添加如下代碼,彈出獲取授權對話框

if (ActivityCompat.checkSelfPermission(this, Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {

ActivityCompat.requestPermissions(this,newString[]{Manifest.permission.CALL_PHONE},0);

return;

}

13.打開其他應用

Intent intent= new Intent();

ComponentName cn = new ComponentName("其他應用的包名",

"其他應用的啟動頁全包名+類名");//com.hengqian.education.welcome.WelcomeActivity

intent.setComponent(cn);

intent.setAction("android.intent.action.MAIN");

startActivityForResult(intent, RESULT_OK);

14.打開手機自帶應用商店中的應用下載界面(可下載、評分)

try {

Uri uri = Uri.parse(market://details?id=應用包名);

Intent intent = new Intent(Intent.ACTION_VIEW,uri);

intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

startActivity(intent);

}catch (Exception e){

e.printStackTrace();

}

15.打開手機自帶應用,進行文字分享

Intent intent = new Intent(Intent.ACTION_SEND); // 啟動分享發送的屬性、

intent.setType(”text/plain”); // 分享發送的數據類型

String msg = ”要分享的內容”;

intent.putExtra(Intent.EXTRA_TEXT, msg); // 分享的內容.

activity.startActivity(Intent.createChooser(intent,”選擇分享”));// 選擇框的標題

You May Also Like