<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-348  評論-598  文章-0  trackbacks-0
    很多人對文檔中的Intent和IntentFilter不理解是什么意思,我這里舉例解釋下。
    Intent字面意思就是目標(biāo),目的。通俗一點(diǎn),需要達(dá)成某些目標(biāo),則需要提供一些動作,這些目標(biāo)的分類,以及達(dá)成這些目標(biāo)所需要的一些數(shù)據(jù)等等。Android中的Intent通過Action,Category和data等屬性進(jìn)行了相應(yīng)的描述,我們想做某些事情(達(dá)成某些目標(biāo)),就需要填寫這些參數(shù)的部分或全部,這樣Android才會幫助我們自動的去進(jìn)行某些操作。
    IntentFilter是配合Intent而生的,你有目標(biāo)行動或者結(jié)果,那么那些行動和結(jié)果就會有他完成的特定要求,這些要求就是IntentFilter,可以理解為Intent和IntentFilter是相對應(yīng)的。
    <activity android:name=".TestService" android:label="@string/app_name">
                
    <intent-filter>
                    
    <action android:name="android.intent.action.MAIN" />
                    
    <category android:name="android.intent.category.LAUNCHER" />
                    
    <action android:name="android.intent.action.STORE_REQUEST"></action>
                    
    <category android:name="android.intent.category.ALTERNATIVE" />
                    
    <category android:name="android.intent.category.SELECTED_ALTERNATIVE" />
                
    </intent-filter>

                
    <intent-filter>
                    
    <action android:name="android.intent.action.TIGERTIAN"></action>
                    
    <category android:name="android.intent.category.DEFAULT"></category>
                    
    <data android:scheme="x-id"></data>
                
    </intent-filter>
                
                
    <intent-filter>
                    
    <action android:name="android.intent.action.EDIT"></action>
                    
    <category android:name="android.intent.category.DEFAULT"></category>
                
    <category android:name="android.intent.category.BROWSABLE"></category>
    </intent-filter>
            
    </activity>
    上面的Activity有三個Filter,第一個是給Android系統(tǒng)用的,表示這個Activity可以顯示在桌面上(Launcher中)。同時Alternative表明,這個Activity可以
    變成OptionMenu,供其他Activity直接調(diào)用。
    后面兩個Filter就是我自定義的了,第二個Filter可以在其他Activity中用如下方法直接調(diào)用:
                    Uri uri = Uri.parse("x-id://www.google.com/getDetails?id=123");
                    Intent in 
    = new Intent();
                    in.setAction(
    "android.intent.action.TIGERTIAN");
                    in.addCategory(Intent.CATEGORY_DEFAULT);
                    in.setData(uri);
                    
    //in.setClassName("com.tigertian.service", "com.tigertian.service.TestService");
                    TestActivity.this.startActivity(in);
    在Filter配置中CATEGORY_DEFAULT是不可缺少的,想調(diào)用這個Service,可以不指定Class,但其他條件必須匹配(CATEGORY_DEFAULT可以不設(shè)置,Android默認(rèn)會自動加上),通過Action,category和data就可以調(diào)用相應(yīng)的Activity了,這是Android幫你做的,當(dāng)然如果系統(tǒng)中存在多個匹配這些條件的Activity或者Service,Android根據(jù)優(yōu)先級進(jìn)行調(diào)用。
    第三個調(diào)用方式如下:
                    Uri uri = Uri.parse("x-id://www.google.com/getDetails?id=123");
                    Intent in 
    = new Intent();
                    in.setAction(Intent.ACTION_EDIT);
                    in.addCategory(Intent.CATEGORY_BROWSABLE);
                    
    //in.setData(uri);
                    
    //in.setComponent(new ComponentName("com.tigertian.service", "com.tigertian.service.TestService"));
                    TestActivity.this.startActivity(in);
    看到?jīng)]有?可以不指定CATEGORY_DEFAULT,Android自動幫你添加。就是這么簡單。

    ---------------------------------------------------------
    專注移動開發(fā)

    Android, Windows Mobile, iPhone, J2ME, BlackBerry, Symbian
    posted on 2010-02-03 18:01 TiGERTiAN 閱讀(37719) 評論(11)  編輯  收藏 所屬分類: JavaAndroid

    評論:
    # re: Android的Intent和IntentFilter應(yīng)用說明一例 2010-09-16 17:30 | 講的什么東西!!
    IntentFilter是配合Intent而生的,你有目標(biāo)行動或者結(jié)果,那么那些行動和結(jié)果就會有他完成的特定要求,這些要求就是IntentFilter,可以理解為Intent和IntentFilter是相對應(yīng)的。
    后面的列子也看不懂!  回復(fù)  更多評論
      
    # re: Android的Intent和IntentFilter應(yīng)用說明一例 2010-09-16 17:32 | TiGERTiAN
    @ 講的什么東西!!
    你一點(diǎn)都不學(xué)習(xí),當(dāng)然看不懂了。  回復(fù)  更多評論
      
    # re: Android的Intent和IntentFilter應(yīng)用說明一例 2010-09-16 17:56 | 講的什么東西!!
    //in.setClassName("com.tigertian.service", "com.tigertian.service.TestService");
    這個東西到底是給我們的提示還是沒有用的東西呀,  回復(fù)  更多評論
      
    # re: Android的Intent和IntentFilter應(yīng)用說明一例 2010-09-17 14:26 | 講的什么東西!!
    你這個代碼調(diào)不通  回復(fù)  更多評論
      
    # re: Android的Intent和IntentFilter應(yīng)用說明一例 2011-03-21 14:55 | gangbener
    你好,我嘗試了之后代碼運(yùn)行均無誤,但是我想要更加明確的運(yùn)行結(jié)果,因?yàn)榘凑丈厦娴拇a運(yùn)行后只能在DDMS中查看可以正常運(yùn)行,但是并不知道在IntentFilter中設(shè)置的屬性是否起作用了。我是在一個Activity中實(shí)現(xiàn)的,即,我在一個名為“intentExample”的Activity的intentExample Menifest文件中寫入了上面三個intentfilter,并在該Activity中調(diào)用intentExample.this.startActivity(in)。  回復(fù)  更多評論
      
    # re: Android的Intent和IntentFilter應(yīng)用說明一例 2013-02-26 14:30 | zcmain
    精簡干練 頂。。
      回復(fù)  更多評論
      
    # re: Android的Intent和IntentFilter應(yīng)用說明一例[未登錄] 2013-05-08 23:01 | wang
    垃圾  回復(fù)  更多評論
      
    # re: Android的Intent和IntentFilter應(yīng)用說明一例 2013-08-01 15:27 | 魏滋瓏
    受益了 謝謝LZ 講的這么詳細(xì)  回復(fù)  更多評論
      
    # re: Android的Intent和IntentFilter應(yīng)用說明一例 2013-08-23 16:51 | awander
    簡明!通透!
    多謝了!  回復(fù)  更多評論
      
    # re: Android的Intent和IntentFilter應(yīng)用說明一例[未登錄] 2013-10-29 16:27 | lee
    @TiGERTiAN
    這是從哪里抄的什么東西的,亂七八糟的。
      回復(fù)  更多評論
      
    # re: Android的Intent和IntentFilter應(yīng)用說明一例[未登錄] 2014-11-12 14:24 | Arlen
    大家不明白的就是IntentFilter,而你并沒有舉什么例子,看這評論,大家都看不懂的。。。不過還是多謝分享。  回復(fù)  更多評論
      
    主站蜘蛛池模板: 亚洲精品亚洲人成人网| 亚洲欧洲日韩国产综合在线二区| 中文在线免费视频| 亚洲国产无线乱码在线观看| 国产亚洲精品va在线| 亚洲日韩涩涩成人午夜私人影院| 成熟女人牲交片免费观看视频 | 无码国产精品一区二区免费式芒果| 丁香婷婷亚洲六月综合色| 亚洲日产2021三区| 亚洲精品国产精品乱码不卡√ | 日韩国产欧美亚洲v片 | 一区二区三区亚洲视频| 午夜dj在线观看免费视频| 在线观看成人免费视频不卡| 午夜理伦剧场免费| 国产成人福利免费视频| 成年免费大片黄在线观看岛国| 91免费国产在线观看| 卡1卡2卡3卡4卡5免费视频| 国产免费看插插插视频| 亚洲亚洲人成综合网络| 亚洲s色大片在线观看| 91亚洲国产成人久久精品| 亚洲情A成黄在线观看动漫软件| 一本色道久久88亚洲精品综合| 亚洲人成网站999久久久综合| 亚洲国产精华液2020| 五月婷婷免费视频| 在线播放免费人成毛片乱码| 最近中文字幕完整免费视频ww| 久久受www免费人成_看片中文| 亚洲精品线路一在线观看| 91亚洲国产成人久久精品网址| 国产产在线精品亚洲AAVV| 日韩电影免费观看| 免费午夜爽爽爽WWW视频十八禁| 亚洲日本在线观看| 两个人看的www高清免费观看| 妞干网在线免费观看| 亚洲色欲或者高潮影院|