相关疑难解决方法(0)

Android:如何处理application/smil MIME类型

我正在使用类似于另一个SO帖子的代码.但我的每个MMS的MIME类型都是"application/smil".如何确定MMS是否包含图片,音频,文本等?

这是我目前使用的代码:

        String selectionPart = "mid =" + id;
        Uri ur = Uri.parse("content://mms/part");
        Cursor cur = getContentResolver().query(ur, null, selectionPart, null, null);
        if (cur.moveToFirst()) {
            do {
                String[] values = new String[cur.getColumnCount()];

                for (int i = 0; i < cur.getColumnCount(); i++) {
                    values[i] = cur.getString(i);
                }

                String partId = cur.getString(cur.getColumnIndex("_id"));
                String type = cur.getString(cur.getColumnIndex("ct"));
Run Code Online (Sandbox Code Playgroud)

这是音频MMS的值String []中包含的内容:

[56, 98, -1, application/smil, smil.xml, null, null, null, <0000>, smil.xml, null, null, null, <smil>
<smil>
  <head>
    <layout>
      <root-layout height="480px" width="320px"/>
      <region fit="meet" height="160px" …
Run Code Online (Sandbox Code Playgroud)

android mms

15
推荐指数
1
解决办法
6943
查看次数

Android:以编程方式备份​​消息和文件

是否可以备份消息(SMS,MMS,电子邮件)和文件(内部和外部内存),然后使用相同的应用程序还原它,而无需root /越狱设备?无论可能与否,我会考虑采用什么方法?[请支持SSCCE,谢谢]

我认为Android 2.2(Froyo)是我的基础平台.


更新:2013年1月30日

更新我的问题

java backup android

10
推荐指数
1
解决办法
3334
查看次数

SMS线程表的正确CONTENT_URI是什么?

我正在尝试查询SMS线程表,但我似乎没有使用正确的URI.

查询URI"content:// sms/conversations"为我提供了以下列:

[thread_id,msg_count,snippet]

查询URI"content:// mms-sms/conversations"为我提供了以下列:

[body,person,sub,subject,retr_st,type,date,ct_cls,sub_cs,_id,read,ct_l,tr_id,st,msg_box,thread_id,reply_path_present,m_cls,read_status,ct_t,status,retr_txt_cs,d_rpt,error_code,m_id ,m_type,v,exp,pri,service_center,address,rr,rpt_a,resp_txt,locked,resp_st,m_size]

我正在寻找从android/provider/Telephony.java中的Threads表中提供值的URI - data,recipient_ids,message_count,read等等...

谢谢

android android-contentprovider

6
推荐指数
1
解决办法
3188
查看次数

ContentResolver 查询抛出 nullpointerException

我正在一个根深蒂固的 Android 2.3.3 htc 令人难以置信的 S 上编写一个 MMS/SMS 应用程序,带有 2.1。现在,在尝试接收短信/彩信的某个联系人列表时,我在查询中得到了一个 FC。

这是一些代码:

Uri uri = Uri.parse("content://mms-sms/conversations/"+String.valueOf(thread_id));
ContentResolver cr = context.getContentResolver();
Cursor c= cr.query(uri,null,null,null,null);    //crashing here
Run Code Online (Sandbox Code Playgroud)

日志猫:

05-22 15:24:24.273: E/AndroidRuntime(32087): FATAL EXCEPTION: main
05-22 15:24:24.273: E/AndroidRuntime(32087): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.uiu.messaging/com.uiu.messaging.ContactMessageChain}: java.lang.NullPointerException
05-22 15:24:24.273: E/AndroidRuntime(32087): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1816)
05-22 15:24:24.273: E/AndroidRuntime(32087):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1837)
05-22 15:24:24.273: E/AndroidRuntime(32087):    at android.app.ActivityThread.access$1500(ActivityThread.java:132)
05-22 15:24:24.273: E/AndroidRuntime(32087):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1033)
05-22 15:24:24.273: E/AndroidRuntime(32087):    at android.os.Handler.dispatchMessage(Handler.java:99)
05-22 15:24:24.273: E/AndroidRuntime(32087):    at android.os.Looper.loop(Looper.java:143)
05-22 15:24:24.273: E/AndroidRuntime(32087):    at android.app.ActivityThread.main(ActivityThread.java:4196)
05-22 15:24:24.273: E/AndroidRuntime(32087): …
Run Code Online (Sandbox Code Playgroud)

android android-contentprovider

6
推荐指数
1
解决办法
7489
查看次数

与SMS会话列表相关的SGS-3错误?

此问题已多次报告,但仍未解决.我在三星的开发者网站或StackOverflow中阅读了与该主题有关的所有消息/帖子

让我再说几句话来描述整个问题:

  1. 开发人员过去通过简单查询获取SMS对话列表,例如:

    Uri.parse("content://mms-sms/conversations/"); Cursor cursor = context.getApplicationContext().getContentResolver().query(uri, null, null, null, null);

    或类似的东西.关键点这里的URI地址:content://mms-sms/conversations

  2. 每个人都知道这是非官方的,而且他自己承担风险 - 请参见此处的证据链接

  3. 但是,关键点这里有一个简单的事实,这个代码只能在三星Galaxy S3和Galaxy Tab 2的某些型号中正常工作.它NullPointerException使用stacktrace 生成:

    java.lang.NullPointerException at android.os.Parcel.readException(Parcel.java:1431) at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:188) at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:140) at android.content.ContentProviderProxy.query(ContentProviderNative.java:366) at android.content.ContentResolver.query(ContentResolver.java:372) at android.content.ContentResolver.query(ContentResolver.java:315)

在世界/宇宙其他地方的所有其他设备中,它运作良好!奇怪,是吧?

我知道这样的答案:嘿伙计,这是你的问题,因为前面提到的URI的存在/正确性不能保证,但是,有人有更有成效的想法吗?

我已经通过他们的论坛向三星的开发者发布了问题.

sms android android-contentprovider samsung-mobile

6
推荐指数
1
解决办法
3987
查看次数

如何获取 MMS id Android 应用程序

谁能帮我找到 MMS id,我使用 此代码获取 MMS 文本,但我不知道 MMS id (mmsId) 所以我停止了!!

我会感谢你的帮助

萨米拉

android mms broadcastreceiver

5
推荐指数
1
解决办法
1599
查看次数

如何将SMS和MMS排序在一起?

我正在实现这里讨论的方法:如何在Android中读取MMS数据?

我正在尝试将短信和彩信读入单个列表视图.我做得很好,但是当我尝试排序时,我将所有的SMS整理在一起,然后将所有的MMS整理在一起.

这是我的代码:

Cursor smsCursor = getContentResolver().query(Uri.parse("content://mms-sms/conversations/"), null, null, null, "date DESC");
Run Code Online (Sandbox Code Playgroud)

任何人都可以告诉我如何结合这两个来源或如何将MMS结合到内置Android应用程序的短信对话中吗?

编辑:我注意到SMS的日期比MMS的日期多几位.

编辑2:像这样添加"julianday()":

Cursor smsCursor = getContentResolver().query(Uri.parse("content://mms-sms/conversations/"), null, null, null, "julianday(date) DESC");
Run Code Online (Sandbox Code Playgroud)

使MMS显示在列表的顶部.

sms android mms

4
推荐指数
1
解决办法
1848
查看次数

在android中查找并整理所有短信/彩信

首先,我发现这个答案特别有用.然而,它让我想知道如何找到这样的信息.

我似乎无法弄清楚如何迭代收件箱中的所有邮件.我目前使用的解决方案Uri.parse("content://mms-sms/conversations")是使用"_id"和"ct_t".然而,似乎我只能在手机中找到三个对话,尽管有30个ms(其中20个在保存对话线程中,其他对话分为两个其他对话).对这样的陈述有意义content://mms-sms/conversations.但是,其他提供商似乎只处理短信或彩信.有没有办法以这种方式迭代整个消息列表,我"content://mms-sms/conversations"用其他东西替换?

public boolean refresh() {
    final String[] proj = new String[]{"_id","ct_t"};
    cursor = cr.query(Uri.parse("content://mms-sms/conversations"),proj,null,null,null);
    if(!(cursor.moveToFirst())) {
        empty = true;
        cursor.close();
        return false;
    }
    return true;
}
Run Code Online (Sandbox Code Playgroud)

我用下一个函数迭代消息

    public boolean next() {

        if(empty) {
            cursor.close();
            return false;
        }
        msgCnt = msgCnt + 1;

        Msg msg;
        String msgData = cursor.getString(cursor.getColumnIndex("ct_t"));
        if("application/cnd.wap.multipart.related".equals(msgData)) {
            msg = ParseMMS(cursor.getString(cursor.getColumnIndex("_id")));
        } else {
            msg = ParseSMS(cursor.getString(cursor.getColumnIndex("_id")));
        }


        if(!(cursor.moveToNext())) {
            empty = true;
            cursor.close();
            return false;
        }

        return true; …
Run Code Online (Sandbox Code Playgroud)

android android-contentprovider android-mms

4
推荐指数
2
解决办法
4246
查看次数

如何访问Android MMS资源,例如视频/音频等?

我开始开发一个必须与MMS附件进行交互的android应用,尤其是获取附件(例如文本,位图,音频,视频等)并将其存储在手机上的特定文件夹中。

因此,我开始在网络上阅读一些书籍和一些帖子,但这并不是一个很普遍的论点,而且我也没有找到一种正式的方式来做自己想做的事情。

我在这里找到有关堆栈溢出的相当不错的文章:如何在Android中读取MMS数据?...对我来说效果很好,但是有两个问题:

  1. 本文向您展示了如何通过查询“隐藏的” SMS-MMS内容提供程序来获取MMS数据,据我所知,Google不保证在以后的每个android版本中都将保留当前结构。
  2. 本文仅说明了如何从MMS获取文本数据和位图数据……关于视频/音频呢?我试图从InputStream获取视频/音频流,例如使用Bitmaps的示例,不幸的是没有运气...

我对没有官方教程或“操作方法”对此感到非常失望,因为SMS和MMS管理是移动开发中非常普遍的需求。我希望有一个人可以帮助我....

提前致谢!!

audio video android get mms

2
推荐指数
1
解决办法
4243
查看次数

在 android 上解析应用程序/smil MMS MIME 类型

所以我遇到了三类彩信类型:

Plain Text - "text/plain"

Image - "image/jpeg", "image/bmp", "image/gif", "image/jpg", "image/png"

SMIL (Synchronized Multimedia Integration Language) - "application/smil"

所以我在获取属于前两类的 MMS 中的数据时没有问题。但是我无法从消息类型的 MMS 中获取数据 application/smil

下面我列出application/smil了我从手机中提取的5 个不同的彩信示例。

[31, 22, -1, application/smil, 123_1.smil, 106, null, null, <0000>, 0.smil, null, null, null, <smil>
  <head>
    <layout>
      <root-layout height="160" width="240"/>
      <region fit="meet" height="67%" id="Image" left="0%" top="0%" width="100%"/>
      <region fit="meet" height="33%" id="Text" left="0%" top="67%" width="100%"/>
    </layout>
  </head>
  <body>
    <par dur="8000ms">
      <img region="Image" src="cid:992"/>
    </par>
    <par dur="8000ms">
      <img region="Image" src="cid:993"/>
    </par>
  </body>
</smil>]
Run Code Online (Sandbox Code Playgroud)

. …

sms android mms mime-types

1
推荐指数
1
解决办法
5万
查看次数

如何从content:// mms中检索彩信的日期。

我确实从该链接获得了有关如何检索mms的文本和图像的信息:如何在Android中读取MMS数据?。

但是我不确定如何检索发送的彩信的日期。

我知道我必须研究content:// mms而不是content:// mms / part。

这是检索mms文本的方法:

private String getMmsText(String id) {
        Uri partURI = Uri.parse("content://mms/part/" + id);
        InputStream is = null;
        StringBuilder sb = new StringBuilder();
        try {
            is = getContentResolver().openInputStream(partURI);
            if (is != null) {
                InputStreamReader isr = new InputStreamReader(is, "UTF-8");
                BufferedReader reader = new BufferedReader(isr);
                String temp = reader.readLine();
                while (temp != null) {
                    sb.append(temp);
                    temp = reader.readLine();
                }
            }
        } catch (IOException e) {
        } finally {
            if (is != null) {
                try …
Run Code Online (Sandbox Code Playgroud)

android date textview android-sqlite android-mms

1
推荐指数
1
解决办法
1991
查看次数