intent深入學習2018/8/9 am

Wonchuang發表於2018-08-09

一、Intent物件介紹

用來指定我們要啟動的目標元件的。比如我們啟動Activity,使用intent啟動該Activity。

二、IntentFilter概念

對intent進行過濾。啟動activity,對activity進行定位。描述一個基本元件的地址,類似URL。

三、顯示Intent和隱式Intent

1、啟動其他activity

顯式

Intent i =new Intent();
i.setComponent(new ComponentName("com.example.wonchuang.l008intents","com.example.wonchuang.l008intents.Aty1"));
startActivity(i);

隱式
在AndroidManifest:

 <activity android:name=".Aty1">
     <intent-filter>
         <action android:name="com.example.wonchuang.l008intents.intent.action.Aty1"/>
         <category android:name="android.intent.category.DEFAULT"/>
    </intent-filter>
</activity>

在MainActivity:

Intent i = new Intent("com.example.wonchuang.l008intents.intent.action.Aty1");
                startActivity(i);

2、利用intent開啟圖片

File f = new File("/mnt/sdcard/1.jpg");
Intent i = new Intent(Intent.ACTION_VIEW);//ACTION_VIEW原始瀏覽器展示
i.setDataAndType(uri.fromFile(f),"image/*");
startActivity(i);

在AndroidManifest:

 <activity android:name="ImageViewer">
     <intent-filter>
         <action android:name="android.intent.action.VIEW"/>
         <category android:name="android.intent.category.DEFAULT"/>
         <data android:mimeType="image/*" android:scheme="file"/> 方便過濾
    </intent-filter>
</activity>

3、利用intent打電話

Intent i = new  Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse("tel:10086"));
startActivity(i);

4、利用intent開啟網址

Intent i = new Intent(Intent.ACTION_VIEW,Uri.parse("http://www.baidu.com"));
startActivity(i);

相關文章