【问题标题】:Calling start activity from adapter从适配器调用启动活动
【发布时间】:2015-01-27 18:54:01
【问题描述】:

我正在从我的适配器调用呼叫活动,但出现以下错误 -

11-29 13:10:41.193: E/AndroidRuntime(12623): android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity  context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?

代码-

Intent callIntent = new Intent(Intent.ACTION_CALL);
callIntent.setData(Uri.parse("tel:"+mMobileList.get(position)));
callIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
((Activity)mContext).startActivity(callIntent);

我也添加了FLAG_ACTIVITY_NEW_TASK。仍然报错。如何解决?

【问题讨论】:

  • 添加该标志后,您的错误是否发生了变化?
  • 看到这可能会有所帮助:stackoverflow.com/q/4197135/3879470
  • @MohammedAli 没用..
  • @yuvaツ 如果您在Activity 中进行操作,例如this approach 而不是创建警报对话框,请使用intent 进行呼叫,并且不需要setFlag
  • 没有。我在列表视图电话号码中显示联系人。和电子邮件 id.and 想要在点击它们时执行操作

标签: android android-intent flags


【解决方案1】:

使用此代码

Intent dial = new Intent();
dial.setAction("android.intent.action.DIAL");
dial.setData(Uri.parse("tel:"+strPhone1));
startActivity(dial);

【讨论】:

    【解决方案2】:
    <uses-permission android:name="android.permission.CALL_PHONE" />
    

    【讨论】:

    • @yuvaツ 然后我认为问题是其余代码没有意图
    • 我的其余代码很好..没有问题..如果有问题它不会给FLAG_ACTIVITY_NEW_TASK报错
    • 如果此解决方案有效,请标记为正确并投票
    • 哦,比我删除这个
    猜你喜欢
    • 1970-01-01
    • 2012-08-02
    • 2018-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多