module項目利用scheme協議跳轉到主項目內的activity

在做項目時需要module項目中調用主項目內的activity,用正常的顯示startActivity(intent)是無法成功的,因爲module項目中找不到主項目裏的activity,這時候怎麼辦呢?可以通過scheme來進行跳轉。

實現方式:

在主項目的AndroidManifest.xml中對需要跳轉的Activity修改:

  <activity android:name=".MainActivity">
            <intent-filter>
                <!--協議部分,-->
                <data android:scheme="scheme" android:host="mainHost" android:path="/mainDetail" />
                <!--下面這幾行也必須得設置-->
                <category android:name="android.intent.category.DEFAULT"/>
                <action android:name="android.intent.action.VIEW"/>
                <category android:name="android.intent.category.BROWSABLE"/>
            </intent-filter>
        </activity>

在module項目中調用跳轉的地方添加:

   String url = "scheme://mainHost/mainDetail?text=你是豬";//這個就是剛剛前面在AndroidManManifest中設置的,?後面是需要傳去的參數,但是不要太長
   //host和path

            Intent intent = new Intent(Intent.ACTION_VIEW,
                    Uri.parse(url));
            startActivity(intent);

這樣既可跳轉成功!!

在接收的地方:

Uri data = getIntent().getData();
String text= data.getQueryParameter("text");

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章