Android 从 gmail 获取数据,附件是 json
Android get data from gmail, attachment is json
我想要的:从gmail附件中的json获取数据。
说明:打开Gmail,点击附件,即json文件。 Json 我需要处理的文件句柄数据。
我在清单中声明了
<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 只有 return 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;
}
我想要的:从gmail附件中的json获取数据。
说明:打开Gmail,点击附件,即json文件。 Json 我需要处理的文件句柄数据。
我在清单中声明了
<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 只有 return 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;
}