このコードを介してGmailでメールを送信している人のメールIDを食べて、Media Player charbycharを使用して再生したいと思います。しかし、MediaPlayer.create(MailSender.this、R.raw.sound)を宣言するときのtryブロックでは、作成に下線が引かれ、(Context、int)タイプと一致しないことが示されます。
getApplicationContext()でさえ機能していません。コードはここにあります
package com.mycomp.android.test;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import javax.mail.Message;
import javax.mail.MessagingException;
import android.app.ProgressDialog;
import android.media.MediaPlayer;
import android.os.AsyncTask;
import android.util.Log;
import android.widget.Toast;
public class MailSender extends AsyncTask<Void, Integer, Integer> {
MediaPlayer mPlayer=null;
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
}
@Override
protected Integer doInBackground(Void... params) {
EmailManager ob=new EmailManager("user","password","gmail.com","smtp.gmail.com","imap.gmail.com");
try {
Message result[]=ob.getMails();
for (int i = 0; i < result.length; i++) {
Log.d("From", result[i].getFrom()[0] + "");
String s=result[i].getFrom()[0].toString();
String formed=s;
if(s.contains("<")&&s.contains(">"))
{
formed="";
int start=s.indexOf('<');
int end=s.indexOf('>');
for(int j=start+1;j<end;j++)
{
formed=formed+s.charAt(j);
}
}
System.out.println("Baby "+formed);
MediaPlayer mPlayer=MediaPlayer.create(MailSender.this,R.raw.a);
mPlayer.start();
//Call sound=new Call(formed);
Log.d("Subject", result[i].getSubject() + "");
String content = null;
try {
content = result[i].getContent().toString();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Log.d("content", content + "");
}
} catch (MessagingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return 1;
}
@Override
protected void onPostExecute(Integer result) {
// TODO Auto-generated method stub
}
}