android scheme

有時候我們開發(fā)的應(yīng)用希望讓其他應(yīng)用也可以訪問,Android平臺而言,可以通過Uri(統(tǒng)一資源標識符Uniform Resource Identifier)來實現(xiàn).

Android中 URI的組成部分scheme, authority and path,其中authority又分為host和port激捏。格式如下: scheme://host:port/path
舉個實際的例子:
content://com.dx.test:2020/folder/myfolder/dir
其中scheme 對應(yīng) content://
authority 對應(yīng) com.dx.test:2020
host 對應(yīng) com.dx.test
port 對應(yīng) 2020
path 對應(yīng) /folder/myfolder/dir
這時候我們想到在mainifest.xml里面定義的activity標簽下的intent-filter子標簽data里面的各個屬性,實際上與上面是有對應(yīng)關(guān)系的

<data android:host="string"    
   android:mimeType="string"    
   android:path="string"    
   android:pathPattern="string"  
   android:pathPrefix="string"
   android:port="string" 
   android:scheme="string" /> 

比如有在A應(yīng)用程序的mainifest.xml中有這么個Activity

     <activity android:name=".TestActivity">
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:scheme="sharetest" android:host="data" />
            </intent-filter>
        </activity>

如上所示,在data里設(shè)置了 scheme和host填抬,則該Activity可以接收和處理類似于 "sharetest://data/XXX"的鏈接蕾管。
在A應(yīng)用程序的TestActivity中編寫處理Scheme的邏輯

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;

/**
 * Created by dengxuandeng on 16-3-9.
 */
public class TestActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.test_layout);
        Intent a = getIntent();
        Log.d("scheme", a.toString());
    }
}

這里為了方便 直接用log打出來了.
到這里 A 程序就準備OK了.

在B應(yīng)用程序中,可以直接寫一個函數(shù) 調(diào)起A引用程序中的這個TestActivity

public void gotoScheme(String url) {
        Intent intent = new Intent(Intent.ACTION_DEFAULT, Uri.parse(url));
        Bundle bundle = new Bundle();
        intent.putExtras(bundle);
        intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
        this.startActivity(intent);
    }

調(diào)起的時候直接寫

gotoScheme("sharetest://data/123141")

那么使用B程序使用Scheme調(diào)起 A程序的TestActivity的時候,可以看到A程序的TestActivity打出來的log

03-09 11:35:48.126 1088-1088/com.dear.schemetest D/scheme: Intent { act=android.intent.action.VIEW dat=sharetest://data/123141 flg=0x24000000 cmp=com.dear.schemetest/.TestActivity (has extras) }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末寞埠,一起剝皮案震驚了整個濱河市掌眠,隨后出現(xiàn)的幾起案子牙捉,更是在濱河造成了極大的恐慌胡野,老刑警劉巖材失,帶你破解...
    沈念sama閱讀 216,843評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異硫豆,居然都是意外死亡龙巨,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,538評論 3 392
  • 文/潘曉璐 我一進店門熊响,熙熙樓的掌柜王于貴愁眉苦臉地迎上來旨别,“玉大人,你說我怎么就攤上這事汗茄〗粘冢” “怎么了?”我有些...
    開封第一講書人閱讀 163,187評論 0 353
  • 文/不壞的土叔 我叫張陵洪碳,是天一觀的道長递览。 經(jīng)常有香客問我,道長瞳腌,這世上最難降的妖魔是什么绞铃? 我笑而不...
    開封第一講書人閱讀 58,264評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮嫂侍,結(jié)果婚禮上儿捧,老公的妹妹穿的比我還像新娘。我一直安慰自己吵冒,他們只是感情好纯命,可當(dāng)我...
    茶點故事閱讀 67,289評論 6 390
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著痹栖,像睡著了一般亿汞。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上揪阿,一...
    開封第一講書人閱讀 51,231評論 1 299
  • 那天疗我,我揣著相機與錄音咆畏,去河邊找鬼。 笑死吴裤,一個胖子當(dāng)著我的面吹牛旧找,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播麦牺,決...
    沈念sama閱讀 40,116評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼钮蛛,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了剖膳?” 一聲冷哼從身側(cè)響起魏颓,我...
    開封第一講書人閱讀 38,945評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎吱晒,沒想到半個月后甸饱,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,367評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡仑濒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,581評論 2 333
  • 正文 我和宋清朗相戀三年叹话,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片墩瞳。...
    茶點故事閱讀 39,754評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡驼壶,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出矗烛,到底是詐尸還是另有隱情辅柴,我是刑警寧澤,帶...
    沈念sama閱讀 35,458評論 5 344
  • 正文 年R本政府宣布瞭吃,位于F島的核電站碌嘀,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏歪架。R本人自食惡果不足惜股冗,卻給世界環(huán)境...
    茶點故事閱讀 41,068評論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望和蚪。 院中可真熱鬧止状,春花似錦、人聲如沸攒霹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,692評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽催束。三九已至集峦,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背塔淤。 一陣腳步聲響...
    開封第一講書人閱讀 32,842評論 1 269
  • 我被黑心中介騙來泰國打工摘昌, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人高蜂。 一個月前我還...
    沈念sama閱讀 47,797評論 2 369
  • 正文 我出身青樓聪黎,卻偏偏與公主長得像,于是被迫代替她去往敵國和親备恤。 傳聞我的和親對象是個殘疾皇子稿饰,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,654評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 大家都知道,如果我們想要打開手機本地的其他應(yīng)用烘跺,我們可以通過intent的隱式啟動湘纵,添加相關(guān)界面activity的...
    Jafir閱讀 27,709評論 8 50
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理脂崔,服務(wù)發(fā)現(xiàn)滤淳,斷路器,智...
    卡卡羅2017閱讀 134,652評論 18 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,085評論 25 707
  • Uri的格式:scheme://host:port/path or pathPrefix or pathPatte...
    柒黍閱讀 6,030評論 0 3
  • 一砌左、我俗脖咐?請問:誰不俗? 最近汇歹,我換了工作屁擅,從體制里出來,就好像每天的頭條新聞預(yù)測的一般产弹,傳統(tǒng)媒體人殺出圍城派歌,大踏...
    左十Hani閱讀 399評論 0 1