日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android 入门之Intent应用

發(fā)布時間:2024/4/15 Android 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android 入门之Intent应用 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1、顯示Intent

Intent intent=new Intent(RequestActivity.this,ResultActivity.class);

startActivity(intent);

2、隱式Intent

打開AndroidMainfest.xml,添加如下代碼(每個Intent中只能指定一個action,但能指定多個category)

<activity android:name=".SecondActivity">

<intent-filter>

<action android:name="com.example.activitytest.ACTION_START"/>

<category?android:name="android.intent.category.DEFAULT"/>

<category?android:name="com.example.activitytest.MY_CATEGORY"/>//添加自定義的Category()

</intent-filter>

</activity>

Intent intent=new Intent("com.example.activitytest.ACTION_START");

intent.addCategory("com.example.activitytest.MY_CATEGORY");//添加自定義的Category

startActivity(intent);

3、調用系統(tǒng)瀏覽器打開網頁

Intent intent=new Intent(Intent.ACTION_VIEW);

intent.setData(Uri.parse("http://www.baidu.com"));

startActivity(intent);

與此對應,還可以在<intent-filter>標簽中配置一個<data>標簽,用于更精準的指定當前活動能夠響應什么類型的數據

android:scheme。用于指定數據的協(xié)議部分,如上例中的 http 部分。

android:host。用于指定數據的主機名部分,如上例中的www.baidu.com.。

android:port。用于指定數據的端口部分,一般緊隨在主機名之后。

android:path。用于指定主機名和端口之后的部分,如一段網址中跟在域名之后的內容。

android:mimeType。用于指定可以處理的數據類型,允許使用通配符的方式進行指定。

只有<data>標簽中指定的內容和Intent中攜帶的Data完全一致時,當前活動才能夠響應該Intent

例如:

<activity android:name=".SecondActivity">

<intent-filter>

<action android:name="android.intent.action.VIEW"/>

<category?android:name="android.intent.category.DEFAULT"/>

<data android:scheme="http"/>

</intent-filter>

</activity>


1,web瀏覽器

Uri?uri=?Uri.parse("http://kuikui.javaeye.com");

returnIt?=?new?Intent(Intent.ACTION_VIEW,?uri);

2,地圖

Uri?mapUri?=?Uri.parse("geo:38.899533,-77.036476");

returnIt?=?new?Intent(Intent.ACTION_VIEW,?mapUri);

3,調撥打電話界面

Uri?telUri?=?Uri.parse("tel:100861");

returnIt?=?new?Intent(Intent.ACTION_DIAL,?telUri);

4,直接撥打電話

Uri?callUri?=?Uri.parse("tel:100861");

returnIt?=?new?Intent(Intent.ACTION_CALL,?callUri);

5,卸載

Uri?uninstallUri?=?Uri.fromParts("package",?"xxx",?null);

returnIt?=?new?Intent(Intent.ACTION_DELETE,?uninstallUri);

6,安裝

Uri?installUri?=?Uri.fromParts("package",?"xxx",?null);

returnIt?=?new?Intent(Intent.ACTION_PACKAGE_ADDED,?installUri);

7,播放

Uri?playUri?=?Uri.parse("file:///sdcard/download/everything.mp3");

returnIt?=?new?Intent(Intent.ACTION_VIEW,?playUri);

8,掉用發(fā)郵件

Uri?emailUri?=?Uri.parse("mailto:shenrenkui@gmail.com");

returnIt?=?new?Intent(Intent.ACTION_SENDTO,?emailUri);

9,發(fā)郵件

returnIt?=?new?Intent(Intent.ACTION_SEND);

String[]?tos?=?{?"shenrenkui@gmail.com"?};

String[]?ccs?=?{?"shenrenkui@gmail.com"?};

returnIt.putExtra(Intent.EXTRA_EMAIL,?tos);

returnIt.putExtra(Intent.EXTRA_CC,?ccs);

returnIt.putExtra(Intent.EXTRA_TEXT,?"body");

returnIt.putExtra(Intent.EXTRA_SUBJECT,?"subject");

returnIt.setType("message/rfc882");

Intent.createChooser(returnIt,?"Choose?Email?Client");

10,發(fā)短信

Uri?smsUri?=?Uri.parse("tel:100861");

returnIt?=?new?Intent(Intent.ACTION_VIEW,?smsUri);

returnIt.putExtra("sms_body",?"shenrenkui");

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

11,直接發(fā)郵件

Uri?smsToUri?=?Uri.parse("smsto://100861");

returnIt?=?new?Intent(Intent.ACTION_SENDTO,?smsToUri);

returnIt.putExtra("sms_body",?"shenrenkui");

12,發(fā)彩信

Uri?mmsUri?=?Uri.parse("content://media/external/images/media/23");

returnIt?=?new?Intent(Intent.ACTION_SEND);

returnIt.putExtra("sms_body",?"shenrenkui");

returnIt.putExtra(Intent.EXTRA_STREAM,?mmsUri);

returnIt.setType("image/png");


3、向下一個活動傳遞數據

傳遞數據:

String data="Hello RequestActivity";

Intent intent=new Intent(RequestActivity.this,ResultActivity.class);

intent.putExtra("etra_data",data);

startActivity(intent);

接收數據

Intent intent=getIntent();

String data=intent.getStringExtra("extra_data");

Log.d("ResultActivity",data);


4、返回數據給上一個活動

請求數據:

Intent intent=new Intent(RequestActivity.this,ResultActivity.class);

startActivityForResult(intent,1);

@Override

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

switch(requestCode){

case 1:

if(resultCode==RESULT_OK){

String returnedData=data.getStringExtra("data_return");

Log.d("RequestActivity",returnedData);

}

break;

default:

}

}


返回數據:(通過返回按鈕返回數據,使用onBackPressed方法)

Intent intent=new Intent();

intent.putExtra("data_return","Hello");

setResult(RESULT_OK,intent);

finish;


5、啟動活動的最佳寫法

第一頁面:

Intent intent=new Intent(RequestActivity.this,ResultActivity.class);

intent.putExtra("data",data);

startActivity(intent);


第二頁面:

啟動活動不清楚傳遞哪些數據的時候:

public static void actionStart(Context context,String data){

Intent intent=new Intent(context,ResultActivity.class);

intent.putExtra("data",data);

context.startActivity(intent);

}

點擊事件調用:

ResultActivity.actionStart(RequestActivity.this,"data");

總結

以上是生活随笔為你收集整理的Android 入门之Intent应用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。