###概要
ラインのトーク履歴をテキストファイル(.txt)として別のアプリで受け取る方法
###目的
- 容量少なく履歴を保存する
- バックアップとして保存しておく
- ラインのバックアップでバックアップできない状況に保存する(osの変更、複数人のチャットの保存)
###ラインでのバックアップの仕方(Android)
トークリスト -> 設定表示 -> トーク設定 -> トーク履歴をバックアップ -> テキストでバックアップ -> 目的のアプリを選ぶ
###方法
・Manifest
intent-fileterをインテントを受けるアクティビティ内に入れる。ラインがアクションを"android.intent.action.SEND_MULTIPLE"、mimeTypeを"text/*"で送ってくるので対応する。
<intent-filter>
<action android:name="android.intent.action.SEND_MULTIPLE" />
<data android:mimeType="text/*" />
</intent-filter>
permissionの設定をする(バージョンがJELLY_BEAN(16)より上の場合の設定もアクティビティで行う)。
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
・activity
マイムタイプとアクションが正しいのを確認してuriリストを入手する。リストの最初のアイテムがテキストファイル。Unchecked castの警告が出るので@SuppressWarnings("unchecked")で対応する。
if (mimeType.equals("text/plain")){
if (Intent.ACTION_SEND_MULTIPLE.equals(i.getAction())){
@SuppressWarnings("unchecked")
ArrayList<Uri> uriList = (ArrayList<Uri>) i.getSerializableExtra(Intent.EXTRA_STREAM);
Uri uri = uriList.get(0);
}
}
・その他
getPathでパスを得て、FileInputStreamなどを使ってトークヒストリーを使いたいように使う。