I am developing an app that needs to call "Barcode Scanner" using an Intent. Part of the ZXing library is the IntentIntegrator (http://code.google.com/p/zxing/sour...ion/src/com/google/zxing/integration/android/).
The IntentIntegrator allows me to use addExtra to the intent. My plan was to read whatever "extra" I added to the intent in the onActivityResult call after the barcode has been read. The problem is that the Barcode scanner application doesn`t return the extras to me after it reads the barcode.
This is my call to invoke the intent:
Code:
(...)if (v.equals(btBarcode)) {
IntentIntegrator integrator = new IntentIntegrator(this);
integrator.setTitle(getString(R.string.app_name));
integrator.addExtra(Utils.EXTRA_MODO, "add");
integrator.initiateScan();
}
And then:
Code:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
// TODO Auto-generated method stub
IntentResult scanResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent);
if (scanResult != null) {
Bundle extras = intent.getExtras();
for (String key : extras.keySet())
Log.i("KEY_" + key, "value: " + extras.get(key).toString());
Log.i("extras", (extras != null) ? extras.toString() : "NULL");
String modo = (extras != null) ? extras.getString(Utils.EXTRA_MODO) : null;
Log.i("modo", (modo != null) ? modo : "NULL");
String barCode = scanResult.getContents();
if ((modo != null) && (barCode != null))
Log.d(modo, barCode);
}
}
None of the extras I set in the IntentIntegrator are being sent back to me. In the extras.keySet(), the only extras returned are from Zxing lib itself:
07-16 19:10:44.820: I/KEY_SCAN_RESULT(15500): value: 740617166453
07-16 19:10:44.825: I/KEY_SCAN_RESULT_FORMAT(15500): value: UPC_A
07-16 19:10:44.825: I/extras(15500): Bundle[{SCAN_RESULT=740617166453, SCAN_RESULT_FORMAT=UPC_A}]
07-16 19:10:44.825: I/modo(15500): NULL
Is this the way it is supposed to work (and thus I'll have to find a way to know what button of my app is calling the intent) or is it really a bug in the ZXIng library?
BTW, I've seeked help from the original developer of ZXing, Sean Owen, and he has been of absolutely no help. My original question is still in ZXing`s google group, but he doesn't seem to be making the littlest effort to understand the problem I`ve been having.
Thanks.
Never mind... I found a workaround.
My approach to the solution was to first acknowledge ZXing is buggy, so the solution wouldn't have to rely on it.
Anyhow, I never got any help from Sean Owen other than a very impolite reply. I am quite disappointed with him, because he is indeed a very intelligent man, but quite unwilling to help.
Mods, please close this thread.
Questions or Problems Should Not Be Posted in the Development Forum
Please Post in the Correct Forums & Read the Forum Rules
Thanks ✟
Moving to Q&A
Simonetti2011 said:
Never mind... I found a workaround.
My approach to the solution was to first acknowledge ZXing is buggy, so the solution wouldn't have to rely on it.
Anyhow, I never got any help from Sean Owen other than a very impolite reply. I am quite disappointed with him, because he is indeed a very intelligent man, but quite unwilling to help.
Mods, please close this thread.
Click to expand...
Click to collapse
Uh, what? It's not at all buggy. As was explained to you several times on the zxing mailing list, you are expecting behavior that doesn't happen in Android. You expect that when you send an Intent, that the extras you attach to the Intent always come back in the reply Intent. They don't, in any Android app. It's kind of like expecting method calls to always return their args to you -- where have you ever observed that?
Anyone who looks for the thread titled "IntentIntegrator.addExtra() not working" on the zxing discussion group on July 13 will see the thread where I helped you -- never got any help eh? oops! (I'd post the link but the forum doesn't allow it.)
I welcome anyone to read your posts, and mine. Simonetti, what's impolite is not listening to the help you were freely given by the author. You didn't understand how Android works, and that's OK. What isn't cool is having a go at me on the maliing list, and then here, pretending the project is at fault.
Related
I just started developing for my new Sony tablet and was curious if I can send IR codes with my own app instead of using the Sony app. Here is what I've achieved so far. Maybe someone finds this information usefull and maybe we can provide further information based on this.
The service kinda works, the callbacks get called, I can read raw commands using learnKey() method and I can get the keys for specific devices using getKeyList() but sending IR pattern or key codes to devices seems not to be working quire right, although the callback gets status OK after sending.
Sony created a DataProvider to share data between the app and the service. Thanks to this fact I queried following URI content://com.sony.nfx.app.irremote.provider/learnt and found all custom learnt codes I added via the Sony app. But even using this exact data doesn't seem to do anything when sending to the device.
Access to IR service is restricted by permission and process so our AndroidManifest.xml should look like this:
Code:
<uses-permission android:name="com.sony.nfx.app.irremoteservice.permission.EXECUTE_SERVICE"/>
<application ... android:process=":remote">
...
</application>
Required AIDL files:
Code:
package com.sony.nfx.app.irremoteservice;
import com.sony.nfx.app.irremoteservice.IUEIControlServiceCallback;
interface IUEIControlService {
int sendKey(int i, int j, int k, byte byte0);
int sendSonyCode(int i, int j, byte byte0, int k, byte byte1);
int sendIRPattern(int i, int j, byte byte0, in byte[] pattern);
int sendStopIRSend(int i);
int getKeyList(int i, int j);
int learnKey(int i);
void registerCallback(IUEIControlServiceCallback callback);
void unregisterCallback(IUEIControlServiceCallback callback);
}
Code:
package com.sony.nfx.app.irremoteservice;
interface IUEIControlServiceCallback {
void onCommandComplete(int i, int j);
void onLearntKey(int i, in byte[] abyte0);
void onGetKeyList(int i, int j, in int[] ai);
}
Basic sample code:
Code:
package ir.remote.android;
import java.util.Arrays;
import android.app.Activity;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.ServiceConnection;
import android.os.Bundle;
import android.os.IBinder;
import android.os.RemoteException;
import android.util.Log;
import com.sony.nfx.app.irremoteservice.IUEIControlService;
import com.sony.nfx.app.irremoteservice.IUEIControlServiceCallback;
public class RemoteTest extends Activity implements ServiceConnection {
private static final String LOG_TAG = "RemoteTest";
private ServiceBinder serviceBinder = new ServiceBinder();
private IUEIControlService remoteService = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
String serviceAction = IUEIControlService.class.getName();
Intent serviceIntent = new Intent(serviceAction);
bindService(serviceIntent, this, Context.BIND_AUTO_CREATE);
}
public void onServiceConnected(ComponentName name, IBinder service) {
try {
Log.d(LOG_TAG, "Service connected!");
remoteService = IUEIControlService.Stub.asInterface(service);
remoteService.registerCallback(serviceBinder);
} catch (Exception e) {
Log.e(LOG_TAG, "Error connecting to service!", e);
}
}
public void onServiceDisconnected(ComponentName name) {
Log.d(LOG_TAG, "Service disconnected!");
remoteService = null;
}
public static class ServiceBinder extends IUEIControlServiceCallback.Stub {
public void onCommandComplete(int i, int j) throws RemoteException {
Log.d(LOG_TAG, "onCommandComplete(" + i + ", " + j + ")");
}
public void onGetKeyList(int i, int j, int[] ai) throws RemoteException {
Log.d(LOG_TAG, "onGetKeyList(" + i + ", " + j + ", " + Arrays.toString(ai) + ")");
}
public void onLearntKey(int key, byte[] value) throws RemoteException {
Log.d(LOG_TAG, "onLearntKey(" + key + ", " + Arrays.toString(value) + ")");
}
}
}
Good start
I'm really glad to see someone working on accessing the IR interface. The IR is the primary differentiator that made me decide to buy the Sony Tablet S. I haven't got it yet though, getting it on Monday evening.
I'm only a noob at development, but have started learning Android dev and the start you've made is bound to help. So thanks a lot.
I look forward to seeing your progress.
Luke
Hello Peacemaker2000,
I'm quite new to programing on android (and in java for that matter) so, sorry for the noob questions here.
I have just received my sony tablet last week-end and I think building a custom remote to my needs would be a great hands on exercice
Also I'm a bit disapointed by the natif app which doe not support macro nor look customizaton.
I have tried to start working with all your samples and code to see what I can get to work, but my first concern is about the AIDL files, how do you import the "com.sony.nfx.app.irremoteservice.IUEIControlServiceCallback" ?
The only file that i have found on my tablet, in a "framewok" folder somewhere is "com.sony.nfx.app.irremoteserviceif.jar", I have tried to referenced it by adding to the build path but it is as far as I have been for now.
Any more help / explanation would be greatly appreciated !
Thanks,
Tom.
Good Job Peacemaker,
Main reason i bought it is universal remote control (of course i m an android fan also). If you think that you have to pay 2000$ for a philips pronto remote, SONY did a good start. I am waiting for a customized remote software so to be able to add new buttons, keys etc.
Thank you,
Chris
+1 for me. the ability to have a custom layed out remote with macros and such, I would buy that app.
I ASSUME you have signed up for the sony developers kit they just released, I dl'd it but don't have the time to get into development currently.
Alan
I did subscripbe and download the sdk but only found samples / references for the largescreen / dualscreen layout of the 2 sony tablets, nothing related to the IR.
I did look in to doing something with the IR blaster but couldn't find anything about how to access it. I might start digging around to build the app I was thinking of in my time off over Christmas
Hello to everybody and i wish you a Happy New Year!!!!!!!!!
Any news about IR?
I wonder who will make a new software remote control more customizable, with macros, buttons etc.
Chris
Athens GREECE
I agree with everyone so far about wanting a better app than the remote control one supplied by Sony. I tried learning a macro from my PDA with its universal remote control app, but it refused to learn it. It was OK with single key presses, indeed it is very sensitive.
I bought the Tablet S for my wife, simply because of the eBook reader capability amongst other things but also as a trial for a new replacement universal remote control. This is the first device for ages to have an IR facility built in. I use an old HP Jornada but the screen is mis-behaving after around 10 years of hard labour as a Universal Remote Control. I have found the ability to program my own designed GUI for my numerous cinema, TV etc. devices has been excellent. The Tablet S app is OK in that it has enough keys to cover most remotes. The facility to be able to re-label the keys and choose which of the icons can be which keys is good. It is slightly limited as most of the icons on the left hand panel are fixed labels. Therefore it could be improved.
I would support anyone writing such an app. I would even pay for it! Now that's novel..... Good luck developers.
Thank you so much Peacemaker2000 for sharing your code and ideas.
It works like a charm getting the keys from a remote control and using the data for your own app. I would really like to know what kind of parameters you have to send to get a full keylist of a TV.
Right now I'm just saving the key data from my remote control and don't have any clues how to generally get all possible keys my TV understands. Would be great if you or anybody else who knows this, could share it with us.
If anybody would like to have a functional piece of code from my current prototype, just let me know, right now I have no problems of controlling my Sony Bravia KDL-32W4000.
Perhaps a Mystery Gift app could be developed for use with pokemon gold on a gameboy colour, those were the days
Seems to be quite easy to get a keylist from the actual service:
Code:
int REMOTE_TYPE_ID_KDL_32W4000 = 508;
remoteService.getKeyList(0, REMOTE_TYPE_ID_KDL_32W4000);
You'll get the list in IUEIControlServiceCallback.Stub.onGetKeyList() and execute the appropriate key with:
Code:
int REMOTE_TYPE_ID_KDL_32W4000 = 508;
int ON_OFF_KEY = 18;
remoteService.sendKey(0, REMOTE_TYPE_ID_KDL_32W4000, ON_OFF_KEY, (byte) 0);
remoteService.sendStopIRSend(0);
There you go, TV goes on and off.
I will donate to anyone developing better IR control app.
It will put all that smart LCD screen remotes that they are selling for $1000 and more out of existence.
There is an example of really good IR remote control application. Extremely feature rich. It is called RemoteControl II from http://wincesoft.de/html/remotecontrol_ii.html.
It is only available for Windows CE/Mobile devices.
open source project
hi all, it could be nice to start an open source project, so everyone can collaborate. like me.
david8 said:
hi all, it could be nice to start an open source project, so everyone can collaborate. like me.
Click to expand...
Click to collapse
I've just whipped up a quick Git repo now. Here's the link: https://github.com/agc93/Tablet-S-IR-Control
It'll only be empty atm, because I'm a bit busy at work, but if anyone wants to give it a try, feel free!
agc93 said:
I've just whipped up a quick Git repo now. Here's the link: https://github.com/agc93/Tablet-S-IR-Control
It'll only be empty atm, because I'm a bit busy at work, but if anyone wants to give it a try, feel free!
Click to expand...
Click to collapse
Great! It's a good beginning.
Hi,
I'm an Android beginner developer.
I recently bought a Sony Tablet S and trying to create my own IR Remote App...why?
Sony default IR Remote App don't provides macros.
Here are the main features i'm thiking about:
A dialog box popup automatically when tablet is removed from his dock and shaked...this is managed by a local service)
This dialog provides two options : 1) Default usage of the tablet or 2) Launch my own IR Remote App
This custom App provides only 2 macros : 1) Listen to music or 2) Watch TV
Main challenges i'm facing (as you can easily imagine) is the IR interface implementation.
There's not much code sample on the web, probably because Sony Tablet S is the only device on the market embedding IR interface.
Here are my questions :
Do some one has successfully experienced this technology ?
Is it necessary to root the device before coding with IR interface ?
Do Sony provides specific library to access to IR interface ?
I suppose that each device that i want to remote control (Denon amplifier AVR-2311 and DVico Tvix 6600n for music listening) has an Infrared Hex Code. How do i use it in my classes ?
Waiting for your help
Regards
I for one am very interested in any application that comes close to a Philips Pronto in respect of functionality. The ability to design your own buttons and layouts as wll as have macros is all that is missing from the sony software and I'm sure its possible.
My Pronto is over 10 years old now and one of the reasons for purchasing the Tablet s was as a replacement.
Have a look at the pronto forums on remotecentral.com theres a vast array of downloads of layouts for Pronto edit and hence the hex codes which can be extracted. Many include discrete codes that can't be learned from remotes and are invaluable for macros.
You can also obtain the original editing software and load onto a virtual pronto. If you can produce an ap anything like that then I think you're onto a winner.
Apologies I'm unable to assist on a coding front as I'm a bit of a technonumpty.
Another very confused developer here trying to work out how Sony's bizarre remote calls function. To be honest, not having much luck, and Sony won't help.
If anyone knows how to get it going, please share, because that's all thats stopping me at the moment.
I already posted a working example for sending an IR signal with the tablet. ;-)
I'm also working on an own app with makro-capabilities, custom button layouting (own text, pictures, size, placement) and even custom gestures. I think I can give out a demo in about two weeks, so be a little bit more patient. ;-)
Of course the app will only work with the Tablet S.
Hello all,
hope my question is not too strange - I need to know it for some security "research" i currently do
What I am looking for is the place in the source where the actual retrieving of information by the Contracts content provider is done. I know that this is deprecated but I think that it is a good start
I tried to trace the place in the source manually but I got stuck at this method:
Code:
public ContentProviderHolder getContentProvider(IApplicationThread caller,
String name) throws RemoteException
in the file
/android/frameworks/base/core/java/android/app/ActivityManagerNative.java
I started from the following code snippet:
Code:
Cursor c = getContentResolver().query(People.CONTENT_URI, null, null, null, null);
String test = People.CONTENT_URI.getPath();
txt.append(test);
I think that the ContentProvider is implemented in
/android/frameworks/base/core/java/android/provider/Contacts.java even though this class does not extends ContentProvider (I thought that each ContantProvider must extend this class).
Can someone maybe help me and tell me where to look ?
Oh jea and i have a second question. What I want to do is to redirect every Call to the contacts contentprovider to a fake content. So I thought i could implement my own contentprovider e.g. fakeContacts and redirect each call to my fake content provider (by altering the source). Is this a good idea or is their a "better" idea to perform this "lying" to the contact app ???
Thank you so much
Hi guys, I am presenting you the latest hosts file to block ad in apps. It works for me for all apps I installed on my player (Angry birds etc.).
How to use:
1. Download attached file and unzip it;
2. Copy the hosts file to your player;
3. Open system/etc with RE and replace the original hosts file and set permission "rw-r-r" (remeber mount R/W before and R/O afterwards);
4. Reboot and you'll enjoy ad free apps from now on.
Why not just use the adfree project? Or join it?
Sent from my Triumph using Tapatalk
Guess that's how ad free works. It patches hosts files.
Sent from my YP-G70 using xda premium
njguyc said:
Hi guys, I am presenting you the latest hosts file to block ad in apps. It works for me for all apps I installed on my player (Angry birds etc.).
How to use:
1. Download attached file and unzip it;
2. Copy the hosts file to your player;
3. Open system/etc with RE and replace the original hosts file and set permission "rw-r-r" (remeber mount R/W before and R/O afterwards);
4. Reboot and you'll enjoy ad free apps from now on.
Click to expand...
Click to collapse
Ad a developer i am disgusted with people blocking ads in their applications. I understand why you guys are doing this and yeh they can be really annoying! Blocking ads on a webpage is much more understanding than blocking from the application. Nowadays our screens are bigger than 4 inches, can you really not give up a little bit to help out the person that spends hours a week keeping up with a free application to make you happy. I spend hours a week writing my apps and I make NO PROFIT all the money I make from ads pays for my server costs.
I don't think people consider these things when they block ads. I'll admit I had ads blocked for a while but it's because the ROM I installed came with it.
Your not bad people for wanting to do this but please consider how morally incorrect it is to block these ads.If there is another developer reading this and also hates how people do this go ahead and add this to your MainActivity. It checks their hosts file for admob (or you can make it which ever ad you use) and if admob exists it pulls some tricker on the user. I've seen developers ask for SU in the app and then once they get it wipe all the admob lines from hosts file. Sorry guys but this needs to be done, your stealing from the developers.
BufferedReader in = null;
Boolean result = true;
try {
in = new BufferedReader(new InputStreamReader(new FileInputStream("/etc/hosts")));
String line;
while ((line = in.readLine()) != null)
{
if (line.contains("admob"))
{
result = false;
break;
}
}
} catch(Exception e){}
if(result == false){
Toast.makeText(getApplicationContext(),"admob detected in /etc/hosts", Toast.LENGTH_LONG).show();
adBlockerFound();
}
public void adblockerFound(){
/**
Do all the bad stuff here. I usually use a dialog and simply notify the user but I still let them use the application. I pretty much give them a guilt trip. But if you wanna be nasty you can do this.finish();
**/
}
TheWall279 said:
Ad a developer i am disgusted with people blocking ads in their applications. I understand why you guys are doing this and yeh they can be really annoying! Blocking ads on a webpage is much more understanding than blocking from the application. Nowadays our screens are bigger than 4 inches, can you really not give up a little bit to help out the person that spends hours a week keeping up with a free application to make you happy. I spend hours a week writing my apps and I make NO PROFIT all the money I make from ads pays for my server costs.
I don't think people consider these things when they block ads. I'll admit I had ads blocked for a while but it's because the ROM I installed came with it.
Your not bad people for wanting to do this but please consider how morally incorrect it is to block these ads.If there is another developer reading this and also hates how people do this go ahead and add this to your MainActivity. It checks their hosts file for admob (or you can make it which ever ad you use) and if admob exists it pulls some tricker on the user. I've seen developers ask for SU in the app and then once they get it wipe all the admob lines from hosts file. Sorry guys but this needs to be done, your stealing from the developers.
BufferedReader in = null;
Boolean result = true;
try {
in = new BufferedReader(new InputStreamReader(new FileInputStream("/etc/hosts")));
String line;
while ((line = in.readLine()) != null)
{
if (line.contains("admob"))
{
result = false;
break;
}
}
} catch(Exception e){}
if(result == false){
Toast.makeText(getApplicationContext(),"admob detected in /etc/hosts", Toast.LENGTH_LONG).show();
adBlockerFound();
}
public void adblockerFound(){
/**
Do all the bad stuff here. I usually use a dialog and simply notify the user but I still let them use the application. I pretty much give them a guilt trip. But if you wanna be nasty you can do this.finish();
**/
}
Click to expand...
Click to collapse
I understand and agree with you on the fact that these ads 'compensate' the effort. I test an app and buy the paid add-free version if I like the app and intend to keep using it.
Yet I use an ad-blocking hosts file, because I consider displaying ads eating up my data plan to be stealing from me and that I do have a right to refuse getting spamed on my phone (in the Web browser I mean).
But by no means can I accept nor agree with you when you say it is ok to request su rights and change the system (even if it's just modifying or removing the hosts file) without requesting permission and clearly stating what your app is about to do and the consequences this has, that is a troian-like behaviour and is totally inappropriate and plainly inacceptable !
Check for ad-blocking, if you find some, pop-up an alert saying you disagree and hereby refuse your app to run, that is all the right you have on my device when I agree to install your app.
So suggesting to " Do all the bad stuff here. I usually use a dialog and simply notify the user but I still let them use the application. I pretty much give them a guilt trip. But if you wanna be nasty you can do this. " is a no go, sorry !
JP.
Sent from my custom ARHD 11.0.0 / Yank555.lu JB kernel v1.3 (Linux 3.0.38) powered Samsung Galaxy S3 using xda premium
TheWall279 said:
Ad a developer i am disgusted with people blocking ads in their applications. I understand why you guys are doing this and yeh they can be really annoying! Blocking ads on a webpage is much more understanding than blocking from the application. Nowadays our screens are bigger than 4 inches, can you really not give up a little bit to help out the person that spends hours a week keeping up with a free application to make you happy. I spend hours a week writing my apps and I make NO PROFIT all the money I make from ads pays for my server costs.
I don't think people consider these things when they block ads. I'll admit I had ads blocked for a while but it's because the ROM I installed came with it.
Your not bad people for wanting to do this but please consider how morally incorrect it is to block these ads.If there is another developer reading this and also hates how people do this go ahead and add this to your MainActivity. It checks their hosts file for admob (or you can make it which ever ad you use) and if admob exists it pulls some tricker on the user. I've seen developers ask for SU in the app and then once they get it wipe all the admob lines from hosts file. Sorry guys but this needs to be done, your stealing from the developers.
BufferedReader in = null;
Boolean result = true;
try {
in = new BufferedReader(new InputStreamReader(new FileInputStream("/etc/hosts")));
String line;
while ((line = in.readLine()) != null)
{
if (line.contains("admob"))
{
result = false;
break;
}
}
} catch(Exception e){}
if(result == false){
Toast.makeText(getApplicationContext(),"admob detected in /etc/hosts", Toast.LENGTH_LONG).show();
adBlockerFound();
}
public void adblockerFound(){
/**
Do all the bad stuff here. I usually use a dialog and simply notify the user but I still let them use the application. I pretty much give them a guilt trip. But if you wanna be nasty you can do this.finish();
**/
}
Click to expand...
Click to collapse
I don't do it with every app, but in cases like angry birds then its absolutely necessary because the ads prevent you from doing stuff in game. With ads that don't get in the way of using the app it's fine but when you put ads in really inconvenient places that's when I go to patching that.
There's an easier way to block ads...... but ads help support the devs.
Sent from my SPH-D710
Thanks!!
Thank YOU!!!
TheWall279 said:
Ad a developer i am disgusted with people blocking ads in their applications. I understand why you guys are doing this and yeh they can be really annoying! Blocking ads on a webpage is much more understanding than blocking from the application. Nowadays our screens are bigger than 4 inches, can you really not give up a little bit to help out the person that spends hours a week keeping up with a free application to make you happy. I spend hours a week writing my apps and I make NO PROFIT all the money I make from ads pays for my server costs.
I don't think people consider these things when they block ads. I'll admit I had ads blocked for a while but it's because the ROM I installed came with it.
Your not bad people for wanting to do this but please consider how morally incorrect it is to block these ads.If there is another developer reading this and also hates how people do this go ahead and add this to your MainActivity. It checks their hosts file for admob (or you can make it which ever ad you use) and if admob exists it pulls some tricker on the user. I've seen developers ask for SU in the app and then once they get it wipe all the admob lines from hosts file. Sorry guys but this needs to be done, your stealing from the developers.
BufferedReader in = null;
Boolean result = true;
try {
in = new BufferedReader(new InputStreamReader(new FileInputStream("/etc/hosts")));
String line;
while ((line = in.readLine()) != null)
{
if (line.contains("admob"))
{
result = false;
break;
}
}
} catch(Exception e){}
if(result == false){
Toast.makeText(getApplicationContext(),"admob detected in /etc/hosts", Toast.LENGTH_LONG).show();
adBlockerFound();
}
public void adblockerFound(){
/**
Do all the bad stuff here. I usually use a dialog and simply notify the user but I still let them use the application. I pretty much give them a guilt trip. But if you wanna be nasty you can do this.finish();
**/
}
Click to expand...
Click to collapse
Doesn't work anymore on latest jelly bean retard. Screw your ads, oh yea, and permissions pro will straight smack down your weak ass app perm
P.s. there's other methods of ad blocking besides having a host file in system/ect. I just have crossbreader and have the target host file in a custom location. Boom, you're little hack can't find it. I will never have any ads and always be one step ahead with the latest and greatest
Or you can turn of data or WiFi
Sent from my YP-G70 using xda app-developers app
heet1 said:
Or you can turn of data or WiFi
Sent from my YP-G70 using xda app-developers app
Click to expand...
Click to collapse
You are right, but some apps have ads and need Wi-Fi. That is when you use adblock.
The Wall279, please list apps you develop so I can avoid them like the plague, please.
Sent from my YP-G70 using Tapatalk 2
heet1 said:
Or you can turn of data or WiFi
Sent from my YP-G70 using xda app-developers app
Click to expand...
Click to collapse
Cool you have the same device i do.How exactly do i "set permission "rw-r-r" (remeber mount R/W before and R/O afterwards);"?
I would really appreciate it.
heet1 said:
Or you can turn of data or WiFi
Sent from my YP-G70 using xda app-developers app
Click to expand...
Click to collapse
If I don't click on ads, the developer of the app that have ads get money or not?
If yes, I see that an ads is a webpage with no zoom on it (Times ago i saw an ads that were scrollable in my player and not scrollable in my n7000 ), can anyone make an ads invisible (or can run it in an under-game level (like photoshop)of an app?
Work on Debian ?
TheWall279 said:
if(result == false){
Click to expand...
Click to collapse
As a developer you should be ashamed of yourself.
Can anyone please tell me if the phone HTC Explorer(HTC Explorer Product Overview - HTC Smartphones) allows the use of the android.net.sip API. What I mean is, will writing an application using that API work out of the box on that phone, without having to root the phone or modify android OS system files?
If anyone has this phone and would be kind enough to try a demo application like SipDemo or better yet try calling the static methods isApiSupported and isVoipSupported of the SipManager class to see if the API can be accessed, I would appreciate it very much.
To spare you some time, this is an activity that logs if the API is accessible or not:
Code:
package voip.test;
import android.app.Activity;
import android.net.sip.SipManager;
import android.os.Bundle;
import android.util.Log;
import android.widget.Toast;
public class SipTestActivity extends Activity {
private static final String TAG = "voip_test";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
if (SipManager.isApiSupported(this) && SipManager.isVoipSupported(this)) {
Log.d(TAG, "supported");
Toast.makeText(this, "supported", Toast.LENGTH_LONG).show();
} else {
Log.d(TAG, "not supported");
Toast.makeText(this, "not supported", Toast.LENGTH_LONG).show();
}
}
}
I have also attached a zip archive containing a self-signed application that uses the previous activity code and when run, logs and toasts the status of the API.
Any help with this, would be much appreciated! Thanks
heartbyte101 said:
Can anyone please tell me if the phone HTC Explorer(HTC Explorer Product Overview - HTC Smartphones) allows the use of the android.net.sip API. What I mean is, will writing an application using that API work out of the box on that phone, without having to root the phone or modify android OS system files?
If anyone has this phone and would be kind enough to try a demo application like SipDemo or better yet try calling the static methods isApiSupported and isVoipSupported of the SipManager class to see if the API can be accessed, I would appreciate it very much.
To spare you some time, this is an activity that logs if the API is accessible or not:
Code:
package voip.test;
import android.app.Activity;
import android.net.sip.SipManager;
import android.os.Bundle;
import android.util.Log;
import android.widget.Toast;
public class SipTestActivity extends Activity {
private static final String TAG = "voip_test";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
if (SipManager.isApiSupported(this) && SipManager.isVoipSupported(this)) {
Log.d(TAG, "supported");
Toast.makeText(this, "supported", Toast.LENGTH_LONG).show();
} else {
Log.d(TAG, "not supported");
Toast.makeText(this, "not supported", Toast.LENGTH_LONG).show();
}
}
}
I have also attached a zip archive containing a self-signed application that uses the previous activity code and when run, logs and toasts the status of the API.
Any help with this, would be much appreciated! Thanks
Click to expand...
Click to collapse
My phone says " Hello world, SipTestActivity".:beer:
From a HTC Explorer A310e using XDA.
Sent from a person who likes people pressing the thanks button.
ri123 said:
My phone says " Hello world, SipTestActivity".:beer:
From a HTC Explorer A310e using XDA.
Sent from a person who likes people pressing the thanks button.
Click to expand...
Click to collapse
My phone is rooted, although, sorry:thumbdown:
From a HTC Explorer A310e using XDA.
Sent from a person who likes people pressing the thanks button.
Thankyou very much for you answer, ri123, but I am looking to see if the API is available on non-rooted phones.
PS: when starting the application I attached, there should be a small toast message for a couple of seconds, near the bottom of the screen displaying either "supported" or "not supported", it is curious that you did not see it...I don't see anything wrong with the code, and it works on the emulator just fine.
But thanks anyway! Still searching for an answer to this question though...
ri123 said:
My phone is rooted, although, sorry:thumbdown:
From a HTC Explorer A310e using XDA.
Sent from a person who likes people pressing the thanks button.
Click to expand...
Click to collapse
Could you please tell me if, when you ran the SipTest app, it showed you a small Toast message saying "supported" or "not supported" in the lower half of the activity screen, and if so, what the message said?
I am asking you this question, because just acquyring root account on the phone, whithout modyfing files in /system/etc/permissions does not affect the SIP api in any way. So if you did not modify/add android.net.sip permission files in /system/etc/permissions after rooting, and now SipTest returns the "supported" message on the screen, then it should have also been accessible before rooting it.
I hope I phrased my question in an undertandable way. Please help me with answering this question. Thanks in advance, heartbyte101
heartbyte101 said:
Could you please tell me if, when you ran the SipTest app, it showed you a small Toast message saying "supported" or "not supported" in the lower half of the activity screen, and if so, what the message said?
I am asking you this question, because just acquyring root account on the phone, whithout modyfing files in /system/etc/permissions does not affect the SIP api in any way. So if you did not modify/add android.net.sip permission files in /system/etc/permissions after rooting, and now SipTest returns the "supported" message on the screen, then it should have also been accessible before rooting it.
I hope I phrased my question in an undertandable way. Please help me with answering this question. Thanks in advance, heartbyte101
Click to expand...
Click to collapse
There was a message saying "supported".
From a HTC Explorer A310e using XDA.
Sent from a person who likes people pressing the thanks button.
ri123 said:
There was a message saying "supported".
From a HTC Explorer A310e using XDA.
Sent from a person who likes people pressing the thanks button.
Click to expand...
Click to collapse
Thankyou for your help, ri123, I guess then the answer to my question should be YES, the API is available to develop applications.
If anyone else has some information regarding my question, or has used this device to develop apps and could shed some light on the status of the android.net.sip API on this device, please share, any additional information would help.
Thanks
Hello everybody,
I am a new developer and started with Libgdx to make a simple game (Flappy Bird) an understand everything.
My English is not the best but I could understand this tutorial (tutorial) and make my "own" Flappy Bird.
To complete the tutorial I wanted to show some ads in the app but it didn't work. I used the ads from admob.
Can someone explain me how I can show ads? I think libgdx is the problem but I don't know what I did wrong.
I found this code but it doesn't work and I am getting a few errors: (Is ist correct and am I right if I do in the Android folder a new class
called BannerExample and put this code in it?
import com.google.ads.*;
public class BannerExample extends Activity {
private AdView adView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// Create the adView
adView = new AdView(this, AdSize.BANNER, MY_AD_UNIT_ID);
// Lookup your LinearLayout assuming it's been given
// the attribute android:id="@+id/mainLayout"
LinearLayout layout = (LinearLayout)findViewById(R.id.mainLayout);
// Add the adView to it
layout.addView(adView);
// Initiate a generic request to load it with an ad
adView.loadAd(new AdRequest());
}
@Override
public void onDestroy() {
if (adView != null) {
adView.destroy();
}
super.onDestroy();
}
}
Click to expand...
Click to collapse
PS: Sorry for my bad English!
libGDX and AdMob
Hi,
which error messages do you get?
Which Version of libGDX do you use?
I'm not sure if it's possible make it with a class like your BannerExample.
For my app I put all the code for the ad in the AndroidLauncher class.
Additionally you should update to Google Mobile Ads because Google will stop the support of the old standalone sdk.
I think this will help you:
The Article "Google Mobile Ads in Libgdx (replaces deprecated AdMob)" in the libGDX Wiki on github.
And a sample code from "TheInvader360" on github.
I hope you find the right sites. I can't post links .
Good luck