このエラーが出る理由は色々あるらしいけど、自分の場合は改行コードが入っているのに、URLエンコードしていないのが問題でした。
今回のケースに限らず、URLなんだからちゃんとエンコードしようZE!って怒られそうですが。
いざコード!
String msg = 'や\nき\nい\nも'; // 改行付きテキスト
String s;
try {
// エンコードにトライ!
s = URLEncoder.encode(msg, "utf-8");
} catch (UnsupportedEncodingException e) {
// まさかのエンコード失敗!
return;
}
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setData(Uri.parse("line://msg/text/" + s));
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_MULTIPLE_TASK);
try {
// いざLINE
dialog.getContext().startActivity(intent);
} catch (Exception e) {
// LINEがないとか?
}