質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

0回答

182閲覧

スクショしてメール送信をしたいが、メールが送信されない

android_

総合スコア10

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

0クリップ

投稿2018/11/16 09:48

android studio

スクリーンショットを撮り、メールで送信するアプリですが、起動しても「has stopp」と出てしまい、わからなくなりました。

発生している問題・エラーメッセージ

エラーメッセージ

該当のソースコード

ソースコード
package com.example.ubuntu.hattoriabe;

import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.hardware.display.VirtualDisplay;
import android.media.ImageReader;
import android.media.projection.MediaProjection;
import android.media.projection.MediaProjectionManager;
import android.net.Uri;

import android.os.Bundle;
import android.os.Environment;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.PixelFormat;
import android.hardware.display.DisplayManager;
import android.hardware.display.VirtualDisplay;
import android.media.Image;
import android.media.ImageReader;
import android.media.projection.MediaProjection;
import android.media.projection.MediaProjectionManager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.Toast;
import java.nio.ByteBuffer;

public class anket extends AppCompatActivity implements View.OnClickListener {
protected void onCreate() {
}

public void home (View view){ Intent intent = new Intent(this, home.class); startActivity(intent); } private MediaProjectionManager mpManager; private MediaProjection mProjection; private static final int REQUEST_MEDIA_PROJECTION = 1001; private int displayWidth, displayHeight; private ImageReader imageReader; private VirtualDisplay virtualDisplay; private int screenDensity; private ImageView imageView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_anket); // 全体キャプチャ Button captureAll = (Button)findViewById(R.id.button3); captureAll.setOnClickListener(this); imageView = findViewById(R.id.image_view); // キャプチャした画像を添付してメールを送る Button sendMail = (Button)findViewById(R.id.button4); sendMail.setOnClickListener(this); } public void onClick(View v) { // 読み書きするファイル名を指定 File file = new File(Environment.getExternalStorageDirectory() + "/capture.jpeg"); // 指定したファイル名が無ければ作成する。 file.getParentFile().mkdir(); switch(v.getId()) { case R.id.button3: // 全体を撮る saveCapture(findViewById(android.R.id.content),file); break; case R.id.button4: Intent intent = new Intent(); intent.setAction(Intent.ACTION_SEND); intent.putExtra(Intent.EXTRA_EMAIL, new String[] {"メールアドレス"}); intent.setType("message/rfc822"); Intent putExtra = intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file)); startActivity(intent); break; } } /** * 撮ったキャプチャを保存 * @param view * @param file */ public void saveCapture(View view, File file) { // キャプチャを撮る Bitmap capture = getViewCapture(view); FileOutputStream fos = null; try { fos = new FileOutputStream(file, false); // 画像のフォーマットと画質と出力先を指定して保存 capture.compress(Bitmap.CompressFormat.JPEG, 100, fos); fos.flush(); } catch (Exception e) { e.printStackTrace(); } finally { if (fos != null) { try { fos.close(); } catch (IOException ie) { fos = null; } } } } /** * キャプチャを撮る * @param view * @return 撮ったキャプチャ(Bitmap) */ public Bitmap getViewCapture(View view) { view.setDrawingCacheEnabled(true); // Viewのキャプチャを取得 Bitmap cache = view.getDrawingCache(); if(cache == null){ return null; } Bitmap screenShot = Bitmap.createBitmap(cache); view.setDrawingCacheEnabled(false); return screenShot; } @Override public void onPointerCaptureChanged(boolean hasCapture) { }

}

試したこと

startActivity(intent); をコメント表示にすると「has stopp」は出なくなりましたが
メールアドレスを書いてもメールが送信されませんでした

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2018/11/16 12:36

ソースコードはマークダウンのcode機能を使ってください。質問・解説内容とコードとの境目が不明瞭となりますし、code機能では正しくコードをコピペできるようになりインデントもつけられて読みやすくなり、再現確認も容易となりますので、的確な回答が得やすくなります。https://teratail.com/help#about-markdown
android_

2018/11/18 04:54

わかりました!もう一度投稿してみます。ありがとうございます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問