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

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

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

Bluetoothとは短距離の間でデータを交換するための無線通信規格である。固定・モバイル両方のデバイスから、短波の電波送信を行うことで、高いセキュリティをもつパーソナルエリアネットワーク(PAN)を構築する。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

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

Android Studio

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

Q&A

0回答

523閲覧

Intentを利用したBluetoothでのファイル共有ができない

JTY

総合スコア19

Bluetooth

Bluetoothとは短距離の間でデータを交換するための無線通信規格である。固定・モバイル両方のデバイスから、短波の電波送信を行うことで、高いセキュリティをもつパーソナルエリアネットワーク(PAN)を構築する。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

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

Android Studio

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

0グッド

0クリップ

投稿2018/09/28 10:05

編集2018/10/01 00:11

前提・実現したいこと

現在Android7.0でCSVファイルをPCと共有するアプリを開発しています。
共有方法としてBluetoothでの送信を検討しているのですが、上手く実装することができません。

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

Intentを発行した後、送信対象アプリ選択ダイアログ(?)は表示されるのですが、そこで「Bluetoothで送信」を選択してもBluetoothの画面が起動しません。
試しにGmailを選択すると「ファイルを添付できませんでした」というメッセージが表示されるためCSVファイルの取得に失敗していると考えています。

該当のソースコード

送信対象のCSVファイルはAndroid内の下記のパスに保存されています。
/storage/emulated/0/Download/SampleData.csv

実際の送信処理です。

java

1String filePath = Environment.getExternalStorageDirectory().getPath() + "/Download" + "/SampleData.csv"; 2File file = new File(filePath); 3Uri sendFileURI = FileProvider.getUriForFile(m_context, getApplicationContext().getPackageName() + ".provider", file); 4Intent intent = new Intent(); 5intent.setType("text/*"); 6intent.putExtra(Intent.EXTRA_STREAM, sendFileURI); 7intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION | Intent.FLAG_GRANT_READ_URI_PERMISSION); 8startActivity(Intent.createChooser(intent, "send file"));

res/xmlにはprovider_paths.xmlを定義しております。

provider_paths.xml

1<?xml version="1.0" encoding="utf-8"?> 2<paths xmlns:android="http://schemas.android.com/apk/res/android"> 3 <external-path name="share_download" path="Download/"/> 4</paths>

マニフェストの<application>タグ内には以下を定義しております。

provider_paths.xml

1 <provider 2 android:name="android.support.v4.content.FileProvider" 3 android:authorities="${applicationId}.provider" 4 android:exported="false" 5 android:grantUriPermissions="true"> 6 <meta-data 7 android:name="android.support.FILE_PROVIDER_PATHS" 8 android:resource="@xml/provider_paths"/> 9 </provider>

補足情報

Bluetooth側がエラーで落ちるので、このコードからエラーログの出力は確認できませんでした。

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問