スポンサー広告 - スポンサーサイト

--/--/-- (--) --:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

【Android】簡単メモ帳 - バージョン 1.0.7

2012/04/15 (日) 21:53

バージョンアップ

■変更点
1.メモ入力画面のメニューに「外部連携」を追加しました。
 インストールされている他のアプリケーションに、表示しているメモデータを連携することができます。
 連携先のアプリの候補としては、各種メール、Evernote等。

■詳細
コメントで要望が寄せられていたので対応してみました。
元々は「Evernoteと連携したい」とのことでしたが、むしろ相手を固定する方が難しく(汗)
Androidの機能である「暗黙インテント」と呼ばれる機能で実現しました。
「Intent.EXTRA_XXXX」のそれっぽいキーにそれっぽい値を設定して、
「後は任せた!」とばかりにAndroid様に投げつけます。

詳細は以下の通り。
一応選択範囲を引っ張ってくるようにしていますが、takの実機(IS05)では選択状態でメニューを押すと選択が解除されてしまいました。
シミュレータでは選択範囲を取得できたので、この辺は環境依存かもしれません。

※「case R.id.recognizer:」の中身は既存の機能の音声認識用の処理です。
 今回追加したのは「case R.id.share:」の方となります。
/**
* メニュー選択時の処理
*/
@Override
public boolean onOptionsItemSelected(MenuItem item) {
super.onOptionsItemSelected(item);

switch (item.getItemId()) {
case R.id.recognizer:
// 音声認識
try {
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
intent.putExtra(RecognizerIntent.EXTRA_MAX_RESULTS, 1);
intent.putExtra(RecognizerIntent.EXTRA_PROMPT, getString(R.string.input_text_voice));
startActivityForResult(intent, LAUNCHED_ACTIVITY);
} catch (ActivityNotFoundException e) {
AlertDialog.Builder adb = new AlertDialog.Builder(this);
adb.setTitle(getResources().getString(R.string.input_alert_text_title));
adb.setMessage(getResources().getString(R.string.input_alert_text));
adb.setPositiveButton("OK", null);
adb.create().show();
}
break;
case R.id.share:
// 外部連携

// タイトル
TextView textDate = (TextView) findViewById(R.id.input_textview_date);
String title = getString(R.string.app_name) + "(" + textDate.getText().toString() + ")";

// メモ
EditText edittextMemo = (EditText) findViewById(R.id.input_edittext_memo);
String memo = edittextMemo.getText().toString();

// 範囲選択されている場合は範囲だけを取得
int start = edittextMemo.getSelectionStart();
int end = edittextMemo.getSelectionEnd();
if (start >= 0 && start != end) {
if (start > end) {
int tmp = start;
start = end;
end = tmp;
}
memo = memo.substring(start, end);
}

// 暗黙インテント投げ
Intent intent = new Intent();
intent.setAction(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_TITLE, title);
intent.putExtra(Intent.EXTRA_SUBJECT, title);
intent.putExtra(Intent.EXTRA_TEXT, memo);
startActivity(Intent.createChooser(intent, getString(R.string.input_text_share)));
break;
}

return true;
}

一応連携できるようになりましたが、本来望まれていた機能とはちょっと違うかもしれませんねぇ(汗)
関連記事

コメントの投稿

非公開コメント

検索フォーム
RSSリンクの表示
カレンダー
07 | 2017/08 | 09
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -
月別アーカイブ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。