get リクエストを受信し、コンテンツをメール送信する php スクリプトがサーバー上にあります。http://url.com/testmail.php?message=somemessageがあるとしましょう
「メッセージ」の内容がメールで送信されます。
アプリでこのスクリプトを呼び出して、独自のメッセージをリクエストに挿入できるようにしたいと考えています。主にユーザーからのフィードバックに使用されます。POST を使用するほうがよいことはわかっています。メールをネイティブに処理できる Android 機能があれば、初心者なので教えてください。
これは、現時点でメイン アクティビティ「onCreate」内にあるコードで、例外を生成しています。
HttpClient httpClient = new DefaultHttpClient();
String url = "http://someurl/testmail.php?message=eventualjavavariable";
HttpGet httpGet = new HttpGet(url);
try {
HttpResponse response = httpClient.execute(httpGet);
StatusLine statusLine = response.getStatusLine();
if (statusLine.getStatusCode() == HttpStatus.SC_OK) {
HttpEntity entity = response.getEntity();
ByteArrayOutputStream out = new ByteArrayOutputStream();
entity.writeTo(out);
out.close();
String responseStr = out.toString();
// do something with response
} else {
// handle bad response
}
} catch (ClientProtocolException e) {
// handle exception
} catch (IOException e) {
// handle exception
}
また、Android マニフェスト ファイルに次の行を追加しました。
<uses-permission android:name="android.permission.INTERNET"/>
私は何を間違っていますか?
これは私のLogCatです:
10-09 15:12:33.185: E/AndroidRuntime(5561): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.android.fragments/com.example.android.fragments.MainActivity}: android.os.NetworkOnMainThreadException
10-09 15:12:33.185: E/AndroidRuntime(5561): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2059)
10-09 15:12:33.185: E/AndroidRuntime(5561): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
10-09 15:12:33.185: E/AndroidRuntime(5561): at android.app.ActivityThread.access$600(ActivityThread.java:130)
10-09 15:12:33.185: E/AndroidRuntime(5561): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)