【发布时间】:2020-06-26 12:20:24
【问题描述】:
我正在使用位置 api 构建应用程序,当用户单击按钮时,我想获取当前活动的路线,以便我可以继续执行任务。
这是我得到的错误。
从 Activity 上下文外部调用 startActivity() 需要 FLAG_ACTIVITY_NEW_TASK 标志。这真的是你想要的吗?
我知道我们可以使用addFlags(Intent.FLAG_ACTIVITY_NEW_TASK 来解决该错误。但问题是我只希望该意图的结果显示在当前活动上。
示例代码。按钮点击
public void getDirections() {
if (mState.getOrder() != null) {
Uri gmmIntentUri;
if (Order.PICKING_UP.equals(mState.getOrder().status)) {
gmmIntentUri = Uri.parse("google.navigation:q="
+ mState.getOrder().pickup.latitude + "," + mState.getOrder().pickup.longitude);
} else {
gmmIntentUri = Uri.parse("google.navigation:q="
+ mState.getOrder().dropoff.latitude + "," + mState.getOrder().dropoff.longitude);
}
Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
//mapIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); // done to resolve Calling startActivity() from outside of an Activity context issue
mContext.startActivity(mapIntent);
}
}
// context
mContext = context.getApplicationContext() == null ? context : context.getApplicationContext();
【问题讨论】:
标签: android geolocation location