Я пытаюсь получить выделенный текст из webview с помощью кода ниже, но это возвращает null.please, позвольте мне теперь, где проблема в нижеприведенном коде.Не удается получить выделенный текст из webview
в этом коде index.html является html-файлом внутри моей папки sdcard/dheeraj/index.html.
import android.app.Activity;
import android.content.res.AssetManager;
import android.os.Bundle;
import android.os.Environment;
import android.content.ClipboardManager;
import android.util.Log;
import android.view.ActionMode;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuItem;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.widget.Toast;
public class AddToNotesWithWebViewActivity extends Activity
{
AssetManager assetManager;
WebView webview;
String line, line1 = "", finalstr = "";
int i = 0;
private ActionMode mActionMode = null;
private ClipboardManager clipboard;
boolean mark_text=false;
@Override
public void onActionModeStarted(ActionMode mode) {
if (mActionMode == null) {
mActionMode = mode;
Menu menu = mode.getMenu();
// Remove the default menu items (select all, copy, paste, search)
menu.clear();
mode.getMenuInflater().inflate(R.menu.add_to_notes_menu, menu);
}
super.onActionModeStarted(mode);
}
public void onContextualMenuItemClicked(MenuItem item)
{
switch (item.getItemId())
{
case R.id.add_to_notes_menu_item:
clipboard =
(ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
emulateShiftHeld(webview);
selectedText();
break;
default:
break;
}
// This will likely always be true, but check it anyway, just in case
if (mActionMode != null) {
mActionMode.finish();
}
}
private void selectedText()
{
Toast.makeText(this, clipboard.getText(),
Toast.LENGTH_SHORT).show();
}
@Override
public void onActionModeFinished(ActionMode mode) {
mActionMode = null;
super.onActionModeFinished(mode);
}
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.ac_add_to_notes_web_view);
webview=(WebView)findViewById(R.id.web_view_browser);
WebSettings webSettings = webview.getSettings();
webSettings.setJavaScriptEnabled(true);
webview.loadUrl("file://" + Environment.getExternalStorageDirectory() + "/dheeraj/index.html");
}
private void emulateShiftHeld(WebView view)
{
try
{
KeyEvent shiftPressEvent = new KeyEvent(0, 0, KeyEvent.ACTION_DOWN,
KeyEvent.KEYCODE_SHIFT_LEFT, 0, 0);
shiftPressEvent.dispatch(view);
registerForContextMenu(view);
}
catch (Exception e)
{
Log.e("dd", "Exception in emulateShiftHeld()", e);
}
}
}
Пожалуйста, помогите .... ?????????
Вы добавили код разрешения в файле манифеста. – vijay