【问题标题】:How to call compose message activity in tabView?如何在 tabView 中调用撰写消息活动?
【发布时间】:2012-11-13 23:41:51
【问题描述】:

我正在使用 android 源代码(姜饼)制作应用程序。这需要在选项卡视图中撰写消息活动。 我试过如下:

Intent 意图 = new Intent("android.intent.action.VIEW"); intent.setClassName("com.android.mms","com.android.mms.ui.ComposeMessageActivity");

StickyTabs.setTab(intent, TAB_INDEX_MESSAGES);

logcat 显示错误:

> 03-19 10:08:02.321: E/AndroidRuntime(151): java.lang.SecurityException: 请求来自 com.android.mms (uid 10004) 的代码在进程 android.process.acore (uid 10007) 中运行

【问题讨论】:

    标签: android android-2.3-gingerbread


    【解决方案1】:

    听起来您的 AndroidManifest 中没有访问彩信的权限。在 Manifest 中“请求”使用 MMS 的权限,异常应该会消失。

    你添加权限了吗

    "android.permission.RECEIVE_MMS"
    "android.permission.SEND_SMS"
    

    【讨论】:

    • 托拜厄斯,感谢您的快速回复。我在清单中提到了活动,例如“ "
    • 是的,但您还需要声明您的应用程序需要运行哪些权限。例如,您可能需要此权限:MESSAGES 用于允许应用程序代表用户发送消息或拦截用户接收的消息的权限。
    • 您是否找到任何有关 StickyTabs 的文档?由于它不是官方 API,可能与安全问题有关?我不确定 StickyTabs 的真正作用,但它们似乎与其他应用程序集成,这可能会导致此问题?
    • 我发现问题出在用户 ID 上。 Android 为每个应用程序分配了一个唯一的 userId。这就是我们无法将活动从 sms 包运行到 Contact 包的原因。我已经阅读了可以解决这个问题的“SharedUserId”。所以我正在尝试......
    【解决方案2】:

    如果你有一个电话号码并且你想为这个 No 编写 SMS,并且你在另一个活动中的某个地方,那么使用这行代码,它将调用并打开 SMS 编写活动,并且还会传递你的手机号码您要向谁发送 SMS。

    Intent sms_intent = new Intent("android.intent.action.VIEW");
    Uri data = Uri.parse("sms:"+phone_No);        
    intent.setData(data);      
    startActivity(sms_intent);
    

    【讨论】:

    • 感谢您的回答。今后,请不要在您的整个答案中使用粗体格式,并且请在您的帖子中使用正确拼写的英文。我已经为你编辑了这个。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-17
    • 2014-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-14
    • 1970-01-01
    相关资源
    最近更新 更多