OnActivityResult Xamarin.Forms
OnActivityResult Xamarin.Forms
问题:我需要访问并覆盖当前 Xamarin.Forms.Context 的 OnActivityResult。
问题:我不知道该怎么做。
我尝试了什么:我尝试扩展 Activity,但我得到一个空异常。我尝试创建一个 BaseActivity : Activity
,但我不知道如何传递结果,我仍然得到一个空异常。
我的 class 看起来像这样:
public class Media : IMedia
{
Activity context;
/// <summary>
/// Initializes a new instance of the class.
/// </summary>
public Media()
{
context = Forms.Context as Activity;
//Check for Camera intent
takePictureIntent = new Intent (MediaStore.ActionImageCapture);
//context.StartActivityForResult (takePictureIntent, 0);
//Check for gallery intent
pickPictureIntent = new Intent();
pickPictureIntent.SetType ("image/*");
pickPictureIntent.SetAction (Intent.ActionGetContent);
//context.StartActivityForResult (Intent.CreateChooser(Intent, "Select Picture"), 1);
if (context.PackageManager.HasSystemFeature (PackageManager.FeatureCamera)) {
IsCameraAvailable = true;
IsPhotosSupported = true;
IsVideosSupported = true;
}
}
protected override void OnActivityResult (int requestCode, Result resultCode, Intent data)
{
switch (requestCode) {
case 0:
if (resultCode == Result.Ok) {
var selectedImage = data.Data;
//imageview.setImageUri(selectedImage);
}
break;
case 1:
if (resultCode == Result.Ok) {
var selectedImage = data.Data;
//imageview.setImageUri(selectedImage);
}
break;
}
}
}
Form.Context 与您的 MainActivity 相同。
您应该改写 MainActivity.OnActivityResult。
问题:我需要访问并覆盖当前 Xamarin.Forms.Context 的 OnActivityResult。
问题:我不知道该怎么做。
我尝试了什么:我尝试扩展 Activity,但我得到一个空异常。我尝试创建一个 BaseActivity : Activity
,但我不知道如何传递结果,我仍然得到一个空异常。
我的 class 看起来像这样:
public class Media : IMedia
{
Activity context;
/// <summary>
/// Initializes a new instance of the class.
/// </summary>
public Media()
{
context = Forms.Context as Activity;
//Check for Camera intent
takePictureIntent = new Intent (MediaStore.ActionImageCapture);
//context.StartActivityForResult (takePictureIntent, 0);
//Check for gallery intent
pickPictureIntent = new Intent();
pickPictureIntent.SetType ("image/*");
pickPictureIntent.SetAction (Intent.ActionGetContent);
//context.StartActivityForResult (Intent.CreateChooser(Intent, "Select Picture"), 1);
if (context.PackageManager.HasSystemFeature (PackageManager.FeatureCamera)) {
IsCameraAvailable = true;
IsPhotosSupported = true;
IsVideosSupported = true;
}
}
protected override void OnActivityResult (int requestCode, Result resultCode, Intent data)
{
switch (requestCode) {
case 0:
if (resultCode == Result.Ok) {
var selectedImage = data.Data;
//imageview.setImageUri(selectedImage);
}
break;
case 1:
if (resultCode == Result.Ok) {
var selectedImage = data.Data;
//imageview.setImageUri(selectedImage);
}
break;
}
}
}
Form.Context 与您的 MainActivity 相同。 您应该改写 MainActivity.OnActivityResult。