Android从gmail获取数据,附件是json

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android从gmail获取数据,附件是json相关的知识,希望对你有一定的参考价值。

我想要的:从gmail附件中获取数据。

说明:打开Gmail,点击附件即json文件。 Json文件处理我需要处理的数据。

在Manifest中我声明了

<intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <data android:mimeType="application/json"/>
                <category android:name="android.intent.category.DEFAULT" />
</intent-filter>

接下来我用

Intent intent = getIntent();        
if(intent.getAction().equals(Intent.ACTION_VIEW)) 
intent.getData <- I suppose from here i can get my infomation
        

但是intent.getData只返回Uri,我读了一个人,我必须使用ContentResolver,InputStream和其他东西,例如将我的数据从json写入字符串。如果有人可以解释它是如何工作的,我会很感激。

答案

好的,我有它

if (intent.getAction().equals(Intent.ACTION_VIEW)) 
            Toast.makeText(this, "work", Toast.LENGTH_SHORT).show();
            Uri data = intent.getData();
//            ContentResolver contentResolver = getContentResolver();
            String text = getStringFromShare(data);
            Log.d("sasas", "onCreate: sometext");
        
    

    private String getStringFromShare(Uri data) 
        String text = null;
        try 

            ContentResolver cr = getApplicationContext().getContentResolver();
            InputStream is = cr.openInputStream(data);
            if (is != null) 

                StringBuffer buf = new StringBuffer();
                BufferedReader reader = new BufferedReader(new InputStreamReader(is));
                String str;
                if (is != null) 
                    while ((str = reader.readLine()) != null) 
                        buf.append(str);
                    
                
                is.close();
                text = buf.toString();
            
         catch (FileNotFoundException e) 
            e.printStackTrace();
         catch (IOException e) 
            e.printStackTrace();
        
        return text;
    

以上是关于Android从gmail获取数据,附件是json的主要内容,如果未能解决你的问题,请参考以下文章

使用 Gmail API 从 Gmail 下载附件

从 Android 上的 gmail 应用程序下载附件的意图过滤器

如何让用户浏览器直接从 GMAIL 下载 gmail 附件?

无需下载即可获取 Gmail 附件文件名

Javamail:无法从我的大学电子邮件服务中获取附件

Gmail API - 从需要的新邮件中下载附件 SCOPES - JAVA