is there a way to read the screen text

by redmapleleaf » Tue, 10 Feb 2009 21:49:06 GMT


Sponsored Links
 Hi all,

I would like to develop an application to read the screen text for the
blind. Do you know if there is any way that I can read the text (word,
or line of text) under the cursor at any time.

Thank you for your help
--~--~---------~--~----~------------~-------~--~----~



is there a way to read the screen text

by jman » Tue, 10 Feb 2009 22:57:10 GMT


  http://code.google.com/p/eyes-free/ 




--~--~---------~--~----~------------~-------~--~----~


Sponsored Links


is there a way to read the screen text

by redmapleleaf » Wed, 11 Feb 2009 11:52:13 GMT


 well I was asking how one can pick up the text at any point on the
screen as the user move his finger about the screen, not the speech
generation. Once I could read the text into a buffer then the speech
generation can come next. However at this point I am not quite sure if
there is a way for me to pick up the text under the cursor.





--~--~---------~--~----~------------~-------~--~----~



is there a way to read the screen text

by blindfold » Wed, 11 Feb 2009 17:06:38 GMT


 Text from your own app or any running app? I think much effort has
been spent on preventing that one Android app can "steal" information
from another running app unless both were designed to communicate with
each other. You also cannot capture the screen bitmap for instance.
For screen-reader-like purposes you would need hooks to lower-level
native interfaces to tap strings before they are processed by the
(graphical) rendering engines. You cannot do this in Android. Once you
have the strings, speaking them is easy using the TTS-for-Android
library from  http://code.google.com/p/eyes-free/ 

Regards




--~--~---------~--~----~------------~-------~--~----~



is there a way to read the screen text

by redmapleleaf » Fri, 13 Feb 2009 02:46:14 GMT


 You have described pretty much what I think is needed to be done. Text
capture must be done at the lowest level so that it can span all the
applications. And so my next question is how can this be done? Is
there a low level api can the screen reader application can tap into
to retrieve the text string? For this to work, I imagine there must be
two support functions

1. function1: when called return the coordinate of the cursor
2. function2: called with the cursor coordinate and return the near by
text string whenever possible

Is there any such function in the android sdk???




--~--~---------~--~----~------------~-------~--~----~



is there a way to read the screen text

by blindfold » Fri, 13 Feb 2009 04:00:16 GMT


 Instead of cursor position you might use the position where the screen
is touched, using dispatchTouchEvent(). For retrieving labels
(strings) of running programs you likely need to dig deep into

 http://android.git.kernel.org/?p=platform/frameworks/base.git ;a=tree

while anything you would change there will not be available to (blind)
end users with production devices.

By the way, I similarly inquired about future screen reader
functionality last month in a post at




Other Threads

1. Android listView fade in Animation

Hi

I have a problem.

I want use a fade in animation on list view elements.

When I press a button, elems should fade in.
Unfortunatly it doesn't work the first time i Click, but works great
the others times

My button works like a toggle.

At launch :

adapter creation with elems INVISIBLE
listview.setadapter(adapter)
click
nothing change
click
creation of a new adapter with elems INVISIBLE
listview.setadapter(adapter)
click
fadein works fine
click
creation of a new adapter with elems INVISIBLE
listview.setadapter(adapter)
click
fadein works fine
...

As you can see it's not the adapter the problem, because it's a new
each time I start animations, but they only works the 2second time and
after.


Any ideas ?

-- 

2. ratingBar - strange problem

Hello,

I have a strange problem. I want to use the standard ratingBar in my app.
I want to put in in an alertdialog, like it is done in the android
market app.
In the emulator it looks quite good. Same as I run the API demo ratingBar1.

But if I run it on my Desire froyo it looks strange. Between the stars
is a lot of space.
So I can see only 3 stars on the screen.
And also the stars are slightly cut off at the bottom.  Especially if I
rotate the screen.

The same problem occurs with the API demo rantingBar1 on my htc desire.
But the google market rating dialog with the 5 stars looks great. The
stars a lot of smaller.

Can someone plz give me a hint!

Here is the code:

 AlertDialog.Builder builder5 = new AlertDialog.Builder(this);
        builder5.setTitle("test");
        builder5.setCancelable(false);
        builder5.setPositiveButton("OK",
            new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int id) {

                  function code
            }
            }).setNegativeButton("Abbrechen",
            new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int id) {
                dialog.cancel();
            }
            });

        LinearLayout layout1 = new LinearLayout(this);

        // layout1.setOrientation(LinearLayout.VERTICAL);
        ratingBar = new RatingBar(this);
        ratingBar.setPadding(0, 0, 0, 50);
        // ratingBar.setRating(5.0f);

        ratingBar.setOnRatingBarChangeListener(this);
        ratingBar.setNumStars(5);
        ratingBar.setStepSize(1);

        layout1.addView(ratingBar);

        builder5.setView(layout1);

        dialog = builder5.show();

-- 

3. Bad link for "Using the Contacts API" article

4. C2DM Push not reaching device

5. OnTouchListener - repeat action on hold

6. Need a small tablet platform that runs Android OS.

7. Running Android CTS on an emulator