0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

AndroidアプリでLineのトーク履歴バックアップのインテントを受け取る

Last updated at Posted at 2018-01-23

###概要
ラインのトーク履歴をテキストファイル(.txt)として別のアプリで受け取る方法

###目的
- 容量少なく履歴を保存する
- バックアップとして保存しておく
- ラインのバックアップでバックアップできない状況に保存する(osの変更、複数人のチャットの保存)

###ラインでのバックアップの仕方(Android)
トークリスト -> 設定表示 -> トーク設定 -> トーク履歴をバックアップ -> テキストでバックアップ -> 目的のアプリを選ぶ

###方法
・Manifest
intent-fileterをインテントを受けるアクティビティ内に入れる。ラインがアクションを"android.intent.action.SEND_MULTIPLE"、mimeTypeを"text/*"で送ってくるので対応する。

AndroidManifest.xml
<intent-filter>
    <action android:name="android.intent.action.SEND_MULTIPLE" />
    <data android:mimeType="text/*" />
</intent-filter>

permissionの設定をする(バージョンがJELLY_BEAN(16)より上の場合の設定もアクティビティで行う)。

AndroidManifest.xml
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

・activity

マイムタイプとアクションが正しいのを確認してuriリストを入手する。リストの最初のアイテムがテキストファイル。Unchecked castの警告が出るので@SuppressWarnings("unchecked")で対応する。

MyActivity.java
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などを使ってトークヒストリーを使いたいように使う。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?