從現有項目中的應用程序我如何執行以下任務:如何啓動在MvvmCross
我主要的應用程序,將啓動不同的應用程序。
此任務需要什麼。
如何將數據傳遞到Launched-app和主應用程序。
如何爲此進行調試?
感謝
從現有項目中的應用程序我如何執行以下任務:如何啓動在MvvmCross
我主要的應用程序,將啓動不同的應用程序。
此任務需要什麼。
如何將數據傳遞到Launched-app和主應用程序。
如何爲此進行調試?
感謝
看看如何在web瀏覽器,短信,電子郵件和電話的插件完成。正如@ martjin00在評論中提到的那樣,你使用了一種叫做Intent
的東西來啓動Activity
。無論是你自己還是其他人的Activity
無所謂。
Intent
允許開發者輸入額外的參數。但是,它們顯然需要是目標Activity
在收到Intent
時能夠理解的格式。如果你知道這一點(如果你正在啓動你自己的應用程序,你顯然應該),那麼這樣做是相當微不足道的。
上面提到的插件就是這樣做的。他們使用一組定義好的參數調用默認應用程序,這些參數可以傳遞給Intent
。插件只是公開這個,所以它可以從PCL觸發,並且如果你爲每個平臺實現你自己的東西,可能會在多個平臺上工作。
讓我們說我們有Activity
A這是你想要啓動的目標Activity
。這需要一些數據塊作爲參數:
public class A : Activity
{
protected override OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
var animal = Intent.GetStringExtra ("animal");
}
}
然後源Activity
乙現在要開始一個給它的動物,可以說馬。
var intent = new Intent (typeof(A));
intent.PutExtra ("animal", "horse");
StartActivity (intent);
基本上就是這樣。如果一個沒有在自己的應用程序中包含但在外部應用程序,該Intent
會有點不同:
var intent = PackageManager.GetLaunchIntentForPackage ("some.other.App");
intent.PutExtra ("animal", "horse");
StartActivity (intent);
這工作沒有任何不同,那麼在MvvmCross任何其他Android/Xamarin代碼。你應該啓動一個'Intent'並用它可用的方法向它添加一些數據。 – Martijn00