Anyone gotten com.yotadevices.keep_on_epd_screen to work? - YotaPhone

The documentation here:
https://yotaphone.com/gb-en/developer/docs/develop/building-first-app-epd/
https://github.com/yotadevices/SDK-Samples/blob/master/yp_hello/app/src/main/AndroidManifest.xml
...shows that you only need to add metadata including "com.yotadevices.keep_on_epd_screen" to your AndroidManifest.xml to make an application run on the EPD display.
I have been unsuccessful with this as yet. Anyone else tried it?
One small note... I'm actually using apktool to attempt to modify the manifest of an APP, not starting from scratch. I've already successfully made the APP's widgets available for the EPD, so I know I'm doing that much right.
Any help is much appreciated.

kctx7 said:
The documentation here:
https://yotaphone.com/gb-en/developer/docs/develop/building-first-app-epd/
https://github.com/yotadevices/SDK-Samples/blob/master/yp_hello/app/src/main/AndroidManifest.xml
...shows that you only need to add metadata including "com.yotadevices.keep_on_epd_screen" to your AndroidManifest.xml to make an application run on the EPD display.
I have been unsuccessful with this as yet. Anyone else tried it?
One small note... I'm actually using apktool to attempt to modify the manifest of an APP, not starting from scratch. I've already successfully made the APP's widgets available for the EPD, so I know I'm doing that much right.
Any help is much appreciated.
Click to expand...
Click to collapse
If this helps, I just tried to recompile the yp_hello example from the SDK. When I run it on a Yotaphone 2 it shows the hello message on both screens (I had to tweak the project settings a bit for it to compile in my version of android studio). On the Chinese Yotaphone 3 it does not work (even when adjusting the device string from yotaphone to y3), the eink screen does not show the hello message, only the front screen. I have not tested on a yotaphone 3+.

Hi,
Try to add the following in the AndroidManifest.xml:
<uses-permission android:name="com.yotadevices.framework.permission.ACCESS_BACKSCREEN" />
FROM: https://devask.gr/questions/29852061/not-allowed-to-bind-to-service-intent-when-starting-a-service

Related

Programmatically enabling network-location

Does anyone know how to programmatically enable the network location finding? I've read that it's not possible to do normally because of user privacy protection (i.e. you can't even request a permission that lets you do it), but I'm wondering if it's possible to do it using a rooted phone. Does anyone know? I can write apps using the normal SDK, but I've never tried to do anything using the fact that my phone is rooted or the superuser permissions app.
This would be for an HTC Hero running a (very old) Android v1.5 MoDaCo ROM.
Or, if a widget already exists that lets you do this, please let me know
Steven__ said:
Does anyone know how to programmatically enable the network location finding? I've read that it's not possible to do normally because of user privacy protection (i.e. you can't even request a permission that lets you do it), but I'm wondering if it's possible to do it using a rooted phone. Does anyone know? I can write apps using the normal SDK, but I've never tried to do anything using the fact that my phone is rooted or the superuser permissions app.
This would be for an HTC Hero running a (very old) Android v1.5 MoDaCo ROM.
Or, if a widget already exists that lets you do this, please let me know
Click to expand...
Click to collapse
Note that Settings.apk is just an app and it can change these settings. My guess is it uses some private APIs to accomplish that. You could look into Android sources and check, what is this API, then use it in your own application. You will have to use system shared user in it and sign it with testkeys.
Brut.all said:
You will have to use system shared user in it and sign it with testkeys.
Click to expand...
Click to collapse
That's the part I don't know how to do. I've found the settings calls it makes from the source code:
Code:
Settings.Secure.putString(getContentResolver(),
Settings.Secure.LOCATION_PROVIDERS_ALLOWED,
"+" + LocationManager.NETWORK_PROVIDER);
but that dies with a permission failure "java.lang.SecurityException: Cannot write secure settings table". I've tried to grant myself that permission in the manifest using:
Code:
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS"/>
but that permission doesn't seem to be granted, as a this.checkCallingPermission always returns -1.
Is there a tutorial on how to use a "system shared user", or would it be easy for you to explain?
I'm not really sure, this is knowledge of rom cookers and I'm not one of them
But... look into AndroidManifest.xml from Settings.apk:
Code:
<manifest android:sharedUserId="android.uid.system" android:versionCode="7" android:versionName="2.1-update1" package="com.android.settings"
xmlns:android="http://schemas.android.com/apk/res/android">
This apk uses android.uid.system and so it has superpowers. You must set this UID for your apk, but to do that apk must be signed with same keys as other system files. I think you must use testsigner tool and fortunately there are many threads/articles about that
Yeah, it looks like I'd have to resign the whole ROM to make sure that my app had the same key as the system files. Hmm, I've swapped tracks to investigating how to get my app to work through the Superuser app, which I can half do now. However, this is getting more complicated to solve than I had hoped for - I think for a while I might just accept that clicking on button that directly brings up the settings menu will be enough. Thanks for trying!

Need help installing the Android SDK

I've read the other threads about this but there is no help to be found there unfortunately.
I've been playing with App Inventor because I wanted to avoid learning Java but my think now is that seeing as I do JavaScript/PHP/mySQL and HTML/CSS anyway I might as well do my app development properly.
I've been following the instructions at the official developer.android.com site.
and the part where I have the problem is with Eclipse - at step 1 on that page. I've installed the JDK but when I try to install Eclipse I get an error telling me that there is no Virtual Java machine in the eclipse\jre\bin\ folder.
Well I'm following the instructions so what can I do about this? I don't even understand the error. Is there supposed to be a file in this folder, a folder which a.doesn't come with the standard Eclipse .zip file and which b.doesn't exist at all!
I tried this all before some time ago and got the same problem. At that time I couldn't even use App Inventor because of some JDK/JRE problem but I un-installed and reinstalled Java and App Inventor is working now.
This is one of the most frustrating computing problems I've faced because I've searched all over for an answer and there is nothing out there. Frankly I'm a little surprised at how poor the installation documentation is
The only thing I can think of is I have the wrong version of Eclipse. Which exact one is everyone else using?
Hello Subjective Effect. There is not a folder named eclipse\jre\bin in eclipse installation folder. The version i m using is eclipse-helios. I was not faced the problem you have.
I've solved that part of the problem by downloading a different version of Eclipse. It is a Helios version and is the one with Java. The installation instructions are not clear on this.
I now have another issue but I'll try work that out for the time being.
So I've no idea (again because the instructions are so poor) what to do about this.
I'm on the Android Developers site and trying to start the Hello World tutorial. I'm already stumped at the stage of creating a New Project because after I set up Project name, Application name, Package name and Create Activity clicking "Finish" gives this error:
[2010-10-28 01:33:03 - HelloAndroid] ERROR: Unable to open class file C:\workspace\HelloAndroid\gen\com\subjectiveeffect\helloandroid\R.java: No such file or directory
The reason I think the docs are poor is am I supposed to have created this directory or does Eclipse create it for you? And if it's supposed to be created for you what am I doing wrong?
Subjective Effect said:
So I've no idea (again because the instructions are so poor) what to do about this.
I'm on the Android Developers site and trying to start the Hello World tutorial. I'm already stumped at the stage of creating a New Project because after I set up Project name, Application name, Package name and Create Activity clicking "Finish" gives this error:
[2010-10-28 01:33:03 - HelloAndroid] ERROR: Unable to open class file C:\workspace\HelloAndroid\gen\com\subjectiveeffect\helloandroid\R.java: No such file or directory
The reason I think the docs are poor is am I supposed to have created this directory or does Eclipse create it for you? And if it's supposed to be created for you what am I doing wrong?
Click to expand...
Click to collapse
Mine seems to have that error no matter what I type in.
So what have you done about it? Or can I continue without worrying, is this a trivial error message?
1) you should download Eclipse 3.5.2 as Helios is not supported by Android plugin yet.
http://www.eclipse.org/downloads/packages/eclipse-classic-352/galileosr2
2) R.java problem should go away if you restart eclipse
Also, to start with better use the existing sample project HelloWorld rather than setting up your own.
This is a common known bug. You can use the latest eclipse version, once you setup a project, you will have to go under project properties and choose compiler version 1.6, which is set to 1.5 usually.
Tha will solve the problem, because i was facing the same a few days ago when starting to mess with SDK and Eclipse.
I had a similar problem and gave up for awhile and when I came back to it I found out that I didn't have my paths set correctly for the java jdk, not sure if that is it but it worked for me.
I find if I restart Eclipse it fixes things.
I've been playing with layouts!

[Q] Developing on Device

I have programmed in java for quite some time, and am decent at android apps.
However, i have two questions about developing on my device (rooted samsung captivate).
First, how can i get dev tools to run correctly on my phone. I have installed it as stated in "developer.android com/guide/developing/debug-tasks html#additionaldebugging". However, when clicking on Dev Settings it crashed with HARDWARE_TEST security exception. I have read that you need to sign/run it as system.
Is it possible to run it on my rooted captivate? if so how do i install it as system or find the system signature to sign it.
My other question is about programing, compiling, and running android applications from a device. I can take my .apk and unzip it. Then edit any resource files. Then rezip and sign it. However if i want to replace the actual code i need to compile it. I can use an online java compiler but i need to convert it to android format.
I know that dx.bat does this by using dx.jar . I can add dx.jar to the referenced libraries of my app. However i cant figure out what to do past there. Is what i am attempting even possible?
Thanks for your help.
There's a couple threads in this forum from folks like me who want to do this. Perhaps you can help us figure it out
Step one is I think to get an java compiler running on the phone. Then to make a version of DX that can run on the phone to convert the class to .apk
Thanks. in normal java programs you can use "com.sun.tools.javac.Main.compile( new String[] {args} );" found in the "<sdk>/lib/tools.jar" to compile a program. And dx.jar is what is used to covert it to android, however i do not know what to call in it.
We just need to find a way to get these jars to work on android.

Older Android SDK?

Greetings,
I started a project with Eclipse, and have mostly been running against a Galaxy S3. However, I wanted to test my program against a Droid 3 that I also have.
Well, I ran into a snag after installing the 2.3.3 SDK.
Basically this error in my AndroidManifest.xml:
error: Error: String types not allowed (at 'configChanges' with value 'keyboard|keyboardHidden|orientation|screenSize'). AndroidManifest.xml
I did some reading, and discovered there was an API change and I was able to get this working by removing the "screenSize" attribute.
My question is: Is this the correct way to support older phone versions? It seems like I am removing something, potentially, from newer versions.
Input welcome! Thanks!
jagauthier said:
Greetings,
I started a project with Eclipse, and have mostly been running against a Galaxy S3. However, I wanted to test my program against a Droid 3 that I also have.
Well, I ran into a snag after installing the 2.3.3 SDK.
Basically this error in my AndroidManifest.xml:
error: Error: String types not allowed (at 'configChanges' with value 'keyboard|keyboardHidden|orientation|screenSize'). AndroidManifest.xml
I did some reading, and discovered there was an API change and I was able to get this working by removing the "screenSize" attribute.
My question is: Is this the correct way to support older phone versions? It seems like I am removing something, potentially, from newer versions.
Input welcome! Thanks!
Click to expand...
Click to collapse
Try building with the latest SDK, then use android:minSdkVersion to control which devices are supported.
You should find (I think) that your old device just ignores 'screenSize' in the manifest.
PicomatStudios said:
Try building with the latest SDK, then use android:minSdkVersion to control which devices are supported.
You should find (I think) that your old device just ignores 'screenSize' in the manifest.
Click to expand...
Click to collapse
Thanks, that makes perfect sense. This seemed to work okay. I had to select the physical device in the Android manager, but otherwise worked fine!
jagauthier said:
Thanks, that makes perfect sense. This seemed to work okay. I had to select the physical device in the Android manager, but otherwise worked fine!
Click to expand...
Click to collapse
No problem. Generally you should set android:targetSdkVersion="nn" and target=android-nn (project.properties) to the latest number (e.g. 18), test on a device/emulator with the latest build and then generally speaking it'll degrade fairly gracefully to older devices.

[Q] Problem getting started on Android Studio

Hey guys,
I have been having trouble getting started developing applications for android. I know how to use Java, and frequently use the netbeans ide for my java homework ect. But I decided why not adventure out and build upon what I learned in school. Unfortunately I have ran into nothing but problems. The first problem is this:
"Gradle project sync failed. Basic functionality (e.g editing, debugging) will not work properly. "
In the messeages window it reads:
[file path to \app\build.gradle]
Failed to Find: com.android.support:appcompact-v7:21+
I have had trouble using grade in eclipse....well I only got eclipse to work once, when I first got my phone, and managed to make a small pop-up app for my self. I did not know any programming language at the time. I merely just copy and pasted most of the code.
and problem number two;
The generated code is riddled with errors?
I look through most of these errors and they state that certain things can be resovled. For example, cant resolve "support" <--- I think that by not having this imported correctly (I think this falls into the first problem) is causing the rest of the errors in my MainActivity file to go crazy.
Is their any way to post more information? Like a log file, maybe that might be of more help too. I just am unfamiliar with Android Studio, as of right now. Attached is a picture of the IDE when is spawns the error.
Thanks for the help in advance!
How to Fix said issue
KJ4CCH said:
Hey guys,
I have been having trouble getting started developing applications for android. I know how to use Java, and frequently use the netbeans ide for my java homework ect. But I decided why not adventure out and build upon what I learned in school. Unfortunately I have ran into nothing but problems. The first problem is this:
"Gradle project sync failed. Basic functionality (e.g editing, debugging) will not work properly. "
In the messeages window it reads:
[file path to \app\build.gradle]
Failed to Find: com.android.support:appcompact-v7:21+
I have had trouble using grade in eclipse....well I only got eclipse to work once, when I first got my phone, and managed to make a small pop-up app for my self. I did not know any programming language at the time. I merely just copy and pasted most of the code.
and problem number two;
The generated code is riddled with errors?
I look through most of these errors and they state that certain things can be resovled. For example, cant resolve "support" <--- I think that by not having this imported correctly (I think this falls into the first problem) is causing the rest of the errors in my MainActivity file to go crazy.
Is their any way to post more information? Like a log file, maybe that might be of more help too. I just am unfamiliar with Android Studio, as of right now. Attached is a picture of the IDE when is spawns the error.
Thanks for the help in advance!
Click to expand...
Click to collapse
Ok guys, I figured it out. We need to install a package from the sdk manager. The picture shows which one needs to be installed. The package is "Android Support Repository"
Seems you have already gotten the answer. But for this kind of questions, past the main line of the error log into Google is much faster than post a question, I think.

Categories

Resources