![](/img/trans.png)
[英]Getting a notification message to show my app in foreground if in background Android Xamarin
[英]Bring android app in foreground after receiving respose from third party app in xamarin android
如何在Xamarin Android中的Broadcast Receiver的OnReceive方法上接收一些数据时如何使用moveTaskToFront。
我的示例代码如下:
[BroadcastReceiver(Enabled = true, Exported = false)]
[IntentFilter(new[] { "android.intent.action.genius.pos.result" })]
public class MyBootReceiver : BroadcastReceiver
{
[get: Android.Runtime.Register("getTaskId", "()I", "GetGetTaskIdHandler")]
public virtual Int32 TaskId { get; }
public PaymentResponse paymentResponse;
public MyBootReceiver() // public constructor
{
}
public override void OnReceive(Context context, Intent intent)
{
String result = intent.GetStringExtra("result");
String description = intent.GetStringExtra("description");
if (result != null && description != Defines.POSAction.InitiateKeyedEntry.ToString())
paymentResponse = JsonConvert.DeserializeObject<PaymentResponse>(result);
if (description != Defines.POSAction.InitiateKeyedEntry.ToString())
{
ActivityManager activityManager = (ActivityManager)context.GetSystemService(Context.ActivityService);
activityManager.MoveTaskToFront(TaskId, MoveTaskFlags.WithHome);
}
}
public void showResultDialog(String msg, Context context)
{
AlertDialog.Builder builder;
builder = new AlertDialog.Builder(context);
builder.SetTitle("Result").SetMessage(msg).Show();
}
}
我在OnReceive方法中收到响应,但无法将我的应用程序置于前台。 我正在使用Intent来调用第三方应用程序进行付款。 第三方应用是Cayan Genius Mini。
请帮助我解决此问题。 我陷入了这个问题。
首先,您是否具有android.permission.REORDER_TASKS
权限?
而且似乎TaskID属性中的主要问题,您可以检查它返回什么吗?
尝试使用MainActivity
TaskID。
另外我还注意到您调用了类MyBootReceiver
,但它不是引导接收器=)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.