package com.yokmama.learn10.chapter06.lesson26;
import android.app.Activity;
import android.app.SearchManager;
import android.content.ActivityNotFoundException;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.AppCompatActivity;
import android.text.TextUtils;
import android.view.Menu;
import android.view.MenuItem;
import android.view.WindowManager;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
private EditText mEditText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.lesson26_activity_main);
mEditText = (EditText) findViewById(R.id.edit);
// キーボードを表示
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//メニューを生成
getMenuInflater().inflate(R.menu.menu_main, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
//入力されているテキストを取得
String keyword = mEditText.getText().toString();
//連携処理を実施
int itemId = item.getItemId();
try {
if (itemId == R.id.action_send) {
//テキスト連携
if (!checkEmpty(keyword)) {
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_TEXT, keyword);
startActivity(intent);
}
} else if (itemId == R.id.action_google) {
//ウェブ検索
if (!checkEmpty(keyword)) {
Intent intent = new Intent(Intent.ACTION_WEB_SEARCH);
intent.putExtra(SearchManager.QUERY, keyword);
startActivity(intent);
}
} else if (itemId == R.id.action_store) {
// Playストア検索
if (!checkEmpty(keyword)) {
Uri uri = Uri.parse("https://play.google.com/store/search")
.buildUpon().appendQueryParameter("q", keyword).build();
startActivity(new Intent(Intent.ACTION_VIEW, uri));
}
}
} catch (ActivityNotFoundException e) {
//開こうとしているアプリが見つからないエラー
Toast.makeText(this, getString(R.string.lb_activity_not_found), Toast.LENGTH_SHORT)
.show();
}
return super.onOptionsItemSelected(item);
}
/**
* キーワードが空(null、または空文字列)かどうかを確認.
*
* @param keyword キーワード
* @return キーワードが空なら true
*/
private boolean checkEmpty(String keyword) {
if (TextUtils.isEmpty(keyword)) {
Toast.makeText(this, getString(R.string.lb_please_input_keyword), Toast.LENGTH_SHORT)
.show();
return true;
}
return false;
}
}