Samsung Galaxy Grand Prime, Core Prime, HTC Desire 626s and more now available from T-Mobile

About a week ago we told you that T-Mobile would soon begin selling a few budget-friendly Android smartphones, and that day has finally come. Starting today, customers will be able to purchase the Samsung Galaxy Grand Prime, Galaxy Core Prime and HTC Desire 626s, all for $0 down. The Alcatel OneTouch Pixi 7 Tablet and Kyocera Hydro WAVE smartphone are both launching on the Un-carrier as well, but not for another week or so.
The Samsung Galaxy Grand Prime, which is the first phone to ship with T-Mobile’s new Advanced Messaging feature, is available for $189.99 off-contract or for $7.92 per month for 24 months. The Samsung Galaxy Core Prime is available for $139.99 outright or $5.84 per month for 24 months. The HTC Desire 626s is available for $169.99 outright or $7.09 per month with a 24-month payment plan. The Alcatel OneTouch Pixi 7 Tablet will be available on T-Mobile from July 29th for just $168 off-contract or for $7 per month for 24 months. Last but not least, we have the waterproof Kyocera Hydro WAVE, which we wrote about a bit earlier today. This device is available from T-Mobile for $149.99, and will launch on MetroPCS on July 27th for $39 with an instant rebate.
Read more: Best Samsung Galaxy Grand Prime cases
The Samsung Galaxy Grand Prime, originally released in October of last year and currently available on Sprint, features a 5-inch qHD (540X960) screen, a Snapdragon 410 SoC, 1GB of RAM and 8GB of on-board storage. This is a decent option for anyone looking for a capable mid-ranger but doesn’t want to break the bank. The Galaxy Core Prime features a 4.5-inch WVGA display, a 1.2GHz quad-core processor, 1GB of RAM and 8GB of internal storage.
The HTC Desire 626s brings along with it the iconic HTC design language, along with a 5.0-inch HD display, 1.5GB of RAM, 8GB of storage and microSD expansion up to 200GB. Lastly, the Hydro WAVE comes with a 5.0-inch qHD LCD display, a 1.2GHz quad-core processor, 1GB of RAM, 8GB of on-board storage (expandable via microSD up to 32GB) and IPX5 and IPX7 waterproofing certifications.
To learn more about these devices, head to the links below.
OnePlus 2 gets certified by Chinese agency, showing what the phone looks like
OnePlus is set to announce its next flagship on July 27, but information regarding the OnePlus 2 has trickled in well before that date. Today, the device received certification by the TENAA in China. The pictures expose the front, rear, and sides of the device. The only new takeaway here seems to be the rear camera setup. It is positioned rather low and features dual-LED flash above the camera with a mysterious component below.
OnePlus has already shared select specifications belonging to its next phone:
- USB Type-C port for charging, data transfer
- Fingerprint sensor that is “done right”
- Newer version of Qualcomm’s Snapdragon 810 processor
- Fast, efficient 4GB of RAM
- Large 3300mAh battery
- StyleSwap covers
The invite system that everyone has grown to hate about OnePlus will return, despite increasing production, and the company promises to keep the OnePlus 2’s price under $450. Is that price high? Sure, but the OnePlus 2 will apparently be the “Flagship Killer” carrying the company into the next year.
Come comment on this article: OnePlus 2 gets certified by Chinese agency, showing what the phone looks like
T-Mobile bringing ‘Advanced Messaging’ on its VoLTE network
Today, T-Mobile’s Chief Technology Officer Neville Ray announced that the carrier is bringing new messaging capabilities on its Rich Communications Services (RCS) standard. The new service is called T-Mobile Advanced Messaging and will deliver messaging capabilities previously available only on third-party apps.
T-Mobile will be the first US carrier to offer this new technology, and will bring new messaging enhancements such as;
- Rich 1 on 1 and group messaging, including near real-time chat
- See when others are typing, when your message is delivered and even read
- Share high-res photos and videos up to 10 MB just as you would a regular text message
- T-Mobile Advanced Messaging is built to work across all devices, makers and operating systems and wireless operators (as soon as they upgrade their networks)
User will have access to all these new capabilities without having to download a new app, and will come to smartphones through updates. The Samsung Galaxy Grand Prime (available for $189.99) is the first device that will take advantage of this new service. T-Mobile Advanced Messaging will shortly come to Galaxy S5 and S6 through a software update, and a dozen other devices are expected to get the update this year.
T-Mobile’s VoLTE has brought HD Voice calling capability nationwide and is now bringing the messaging standard to set the carrier aside from its competitors.
Source: T-Mobile
Come comment on this article: T-Mobile bringing ‘Advanced Messaging’ on its VoLTE network
CHOETECH Qi Wireless Charging Pad Review
One of the features I was most looking forward to when purchasing my Samsung Galaxy S6 was the wireless charging capabilities. It’s so convenient being able to just place the device down on a charging mat and have it charge. That also enables me to neatly hide the connecting USB cable permanently and not have it wave about when I’m trying to locate it in the dark.
One such charger is that from CHOETECH and their Qi Wireless Charging Pad; of course, it does support more devices than the Galaxy S6 – any with Qi actually – but this review was written with the experience of a Galaxy S6.
The charging pad itself is black in color and is a very neat oval shape with a micro-USB port on the rear shorter edge. This sets the charging pad up at a nice angle to place your device on the nightstand next to you and be able to conceal the cable behind it. The CHOETECH Qi Wireless Charging Pad also has a blue LED light to indicate when a device has been successfully placed on the pad and a charge is being sent to the battery. This is a nice way of subtlety indicating that the charging pad is actually working. Unfortunately, this blue LED light and the way it sits on your side table does mean that you have a bright blue light shining in your eye all night long.
One other issue, as shown from the image above, is that it does pick up dusts and marks quite easily. In the two weeks I reviewed the product, with it sat on my side table, it managed to pick up all kinds of prints and marks from the various things placed near it, as well as excess dirt on the phone. It’s not too hard to clean, so really not a huge problem in the wider picture.
I would have liked the CHOETECH Qi Wireless Charging Pad to support Samsung’s FastCharge technology to mimic the charging time I can get out of the official Samsung charger, but understand this is very vendor and device specific.
Otherwise, the charging pad is a very solid, capable, and nice looking device that will reliably charge your Qi-enabled device without any issues. Just be sure to clean it once in a while.
The post CHOETECH Qi Wireless Charging Pad Review appeared first on AndroidGuys.
Microsoft Garage debuts ‘Send’ messaging and email client
Microsoft Garage, the developmental team behind a number of Android apps, is back with another one. Well, not just yet for Android, at least.
Called “Send”, the app is some sort of strange messenger and email hybrid supported by Microsoft Outlook. Because sometimes it’s easier to send off a quick message to check if someone’s back from lunch, Send is designed to work in lieu of traditional emails.
“With Send, there are no signatures, subject lines or salutations required. Our design principle for the app was to make conversations fast and fluid while keeping the people who are important to you at its core. Send connects to Office 365 business and school email accounts to surface your frequent and recent contacts. “
Send was created with the in-and-out user in mind, meaning it’s not going to replace your more detailed emails. It will, however, sync up with Office 365 and Outlook. Should you need to pick up a work-related conversation outside of the office, Send can work on mobile.
Send is currently available to corporate and education iPhone owners but the Android and Windows Phone versions are coming soon.
The post Microsoft Garage debuts ‘Send’ messaging and email client appeared first on AndroidGuys.
Spotify boosts its dance music cred with a Beatport deal
The Spotify pact is arguably the biggest yet for Beatport, which is trying to expand beyond its one-stop shop reputation to create a whole distribution network. It’s also important for Spotify, which could use Beatport as a counter to Apple Music’s discovery features. The Apple service already has both legions of its own electronic music playlists as well as curators like DJ Mag — this wouldn’t be a direct equivalent, but it would give you an incentive to come back and explore music you otherwise wouldn’t have heard.
Filed under: Internet
Source: SFX (BusinessWire)
Senator Lindsey Graham on how to properly break your phone
During a recent campaign stop in South Carolina, billionaire presidential candidate and hairpiece aficionado Donald Trump decided to share Senator Lindsey Graham’s personal cell phone number with the crowd (and all of televised America). This resulted in his phone being inundated by calls from across the country. So what’s Senator Graham (R-SC) to do with a number that may as well be scrawled across every truck stop bathroom in the nation under “For a good time call”? Well, first, he got himself a new phone. Then he teamed up with Independent Journal Review, a news and politics forum, to give his trusty old flip-phone the send-off it deserved — which apparently includes lots of fire, golf clubs, blenders, bokken and long falls.
Filed under: Cellphones, HD
Source: IJR (Twitter)
See Neil deGrasse Tyson explain the universe in 8 minutes
Need proof that Neil deGrasse Tyson has a knack for explaining complex astrophysical concepts in simple terms? You don’t have to spend the better part of an hour watching a Cosmos episode — in fact, a short work break will do the trick. The famed astrophysicist has posted a video explaining the basic history of the universe within 8 minutes, ranging from the Big Bang to humanity itself. The clip notes that many things we take for granted (such as gravity and the prevalence of matter) were decided in the earliest moments of the universe, and that our Solar System largely exists thanks to giant stars ejecting heavy elements. That sounds like a lot to take in, but don’t worry: this is quite accessible, and it’s a good primer on the nature of… well, everything.
Filed under: Science
Via: The Verge
Source: MinutePhysics (YouTube)
Using the ThingSpeak API to track a device’s location
We have previously demonstrated how to use a web API from your Android app, and we have also discussed how to get and use location data in your Android app. In this tutorial, we will utilize both of these lessons, and show how you can track a device’s location using a remote web API. The remote web API we selected is the Thingspeak API.
For this article, we will develop an Android application that gets the device’s location information, and sends the latitude/longitude data to a ThingSpeak channel. We will then fetch the last location data from the ThingSpeak channel, and compute the distance from the last updated location to a location entered by the user. A simple (and obvious) use of this is parents who wish to track their children, or employers tracking employees. The ThingSpeak channel can also be viewed using a browser.
Getting Started
First thing you should do is to register for a ThingSpeak account. It is, at the time of writing, completely free. After registration, you will need to create a channel. You can have multiple channels, but each channel has a unique ID, and a special Channel write API_KEY, that can be used to write or read data to the channel. For a private channel, you can generate read API_KEYs, that can only read data from the channel.
While creating your channel, you might notice a Latitude and Longitude field. These are used for static devices, and are not suitable for our use case. ThingSpeak allows for the tracking of up to eight different fields, named field1 through field8. We add latitude as field1, and longitude as field2. You can access the ThingSpeak documentation online on their Support page
App Layout
Our app layout displays the current device latitude and longitude. Beneath these is a button, enabling us begin and pause location tracking. Whenever the app receives a location update, the values of the TextViews are updated, and the new location data is immediately sent to the ThingSpeak channel. There are two EditTexts, into which the user can enter latitude and longitude values to compare against the device’s location. Clicking on the “Get Distance” button will fetch the last updated location from the thingspeak channel, and perform a Location.distanceTo() to compute the distance between both Locations.
Our activity_main.xml is a simple RelativeLayout.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".MainActivity">
<TextView
android:id="@+id/latitudeText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/latitude"
android:textSize="20sp"/>
<TextView
android:id="@+id/latitudeUpdate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/latitudeText"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:text="0.00"
android:textSize="20sp"/>
<TextView
android:id="@+id/longitudeText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/latitudeText"
android:text="@string/longitude"
android:textSize="20sp"/>
<TextView
android:id="@+id/longitudeUpdate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/longitudeText"
android:layout_below="@id/latitudeUpdate"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:text="0.00"
android:textSize="20sp"/>
<Button
android:id="@+id/locationController"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_below="@id/longitudeUpdate"
android:text="@string/resume"
android:onClick="toggleLocationUpdates" />
<EditText
android:id="@+id/latitudeTarget"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/locationController"
android:hint="@string/target_latitude"/>
<EditText
android:id="@+id/longitudeTarget"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/latitudeTarget"
android:hint="@string/target_longitude"/>
<Button
android:id="@+id/notificationController"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/longitudeTarget"
android:layout_centerHorizontal="true"
android:text="@string/get_distance"
android:onClick="compareLocation" />
<TextView
android:id="@+id/distanceText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/notificationController"
android:gravity="center"/>
<ProgressBar
android:id="@+id/progressBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/notificationController"
android:layout_centerHorizontal="true"
android:visibility="gone"/>
</RelativeLayout>
Updating your channel
Recall our previous article on fetching location data? For this app, we are using the GPS_PROVIDER. If your application runs in the background (as a service), consider using the PASSIVE_PROVIDER, or use a longer refresh time.
In the code snippet below, when the “Begin Tracking” button is clicked, we request location updates from the GPS_PROVIDER every two minutes (2 * 60 * 1000). However, if the button reads “Pause Tracking”, we ask the LocationManager to stop sending updates.
public void toggleLocationUpdates(View view)
if(!checkLocation())
return;
Button button = (Button) view;
if(button.getText().equals(getResources().getString(R.string.pause)))
locationManager.removeUpdates(locationListener);
button.setText(R.string.resume);
else
locationManager.requestLocationUpdates(
LocationManager.GPS_PROVIDER, 2 * 60 * 1000, 10, locationListener);
button.setText(R.string.pause);
This snippet is our implementation of the LocationListener interface. When we receive a new location update, the onLocationChanged() method is called, with the new Location information as the method arguments. On extracting the latitude and longitude values, we execute the AsyncTask that updates the thingspeak API.
private final LocationListener locationListener = new LocationListener()
public void onLocationChanged(final Location location)
longitude = location.getLongitude();
latitude = location.getLatitude();
runOnUiThread(new Runnable()
@Override
public void run()
longitudeUpdate.setText(longitude + "");
latitudeUpdate.setText(latitude + "");
);
new UpdateThingspeakTask().execute();
;
Android prevents developers from performing potentially long running tasks in the UI thread (the thread that controls the responsiveness of your application’s widgets). As such, we must perform network tasks in another thread, and the AsyncTask is a great class that handles all the thread complexity behind the scenes. Instructions in both onPreExecute() and onPostExecute() are run on the UI thread before and after the long running task respectively, while the long running task is placed in the doInBackground() method.
class UpdateThingspeakTask extends AsyncTask<Void, Void, String>
private Exception exception;
protected void onPreExecute()
protected String doInBackground(Void... urls)
try
URL url = new URL(THINGSPEAK_UPDATE_URL + THINGSPEAK_API_KEY_STRING + "=" +
THINGSPEAK_API_KEY + "&" + THINGSPEAK_FIELD1 + "=" + latitude +
"&" + THINGSPEAK_FIELD2 + "=" + longitude);
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
try
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
StringBuilder stringBuilder = new StringBuilder();
String line;
while ((line = bufferedReader.readLine()) != null)
stringBuilder.append(line).append("n");
bufferedReader.close();
return stringBuilder.toString();
finally
urlConnection.disconnect();
catch(Exception e)
Log.e("ERROR", e.getMessage(), e);
return null;
protected void onPostExecute(String response)
// We completely ignore the response
// Ideally we should confirm that our update was successful
Fetching channel data
There are many different ways data can be read from a ThingSpeak channel. This includes
- The entire channel feed
- Individual fields
- A specific update
- Updates within a given time frame and more
Consult the documentation to learn more.
We, however, are interested in retrieving the last update only. This is implemented using an AsyncTask.
In the onPreExecute() method, we fetch the latitude/longitude values, disable further editing of the fields, and display the ProgressBar.
In the onPostExecute() method, we parse the received to a JSONObject, fetch the returned latitude/longitude values, and finally compute the distance between both locations.
class FetchThingspeakTask extends AsyncTask<Void, Void, String>
Location target;
protected void onPreExecute()
double latitude = Double.parseDouble(latitudeEdit.getText().toString());
double longitude = Double.parseDouble(longitudeEdit.getText().toString());
target = new Location("");
target.setLatitude(latitude);
target.setLongitude(longitude);
latitudeEdit.setEnabled(false);
longitudeEdit.setEnabled(false);
distanceText.setText("");
distanceText.setVisibility(View.GONE);
progressBar.setVisibility(View.VISIBLE);
protected String doInBackground(Void... urls)
try
URL url = new URL(THINGSPEAK_CHANNEL_URL + THINGSPEAK_CHANNEL_ID +
THINGSPEAK_FEEDS_LAST + THINGSPEAK_API_KEY_STRING + "=" +
THINGSPEAK_API_KEY + "");
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
try
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
StringBuilder stringBuilder = new StringBuilder();
String line;
while ((line = bufferedReader.readLine()) != null)
stringBuilder.append(line).append("n");
bufferedReader.close();
return stringBuilder.toString();
finally
urlConnection.disconnect();
catch(Exception e)
Log.e("ERROR", e.getMessage(), e);
return null;
protected void onPostExecute(String response)
if(response == null)
Toast.makeText(MainActivity.this, "There was an error", Toast.LENGTH_SHORT).show();
return;
latitudeEdit.setEnabled(true);
longitudeEdit.setEnabled(true);
distanceText.setVisibility(View.VISIBLE);
progressBar.setVisibility(View.GONE);
try
JSONObject channel = (JSONObject) new JSONTokener(response).nextValue();
double latitude = channel.getDouble(THINGSPEAK_FIELD1);
double longitude = channel.getDouble(THINGSPEAK_FIELD2);
Location location = new Location("");
location.setLatitude(latitude);
location.setLongitude(longitude);
float distance = location.distanceTo(target);
distanceText.setText("The distance between both Locations is n" +
distance + " meters");
Log.e(TAG, "distance == " + distance);
catch (JSONException e)
e.printStackTrace();
Round up
The complete source is available on Github, for use as you see fit. If building from scratch, you would need to request for both the INTERNET and LOCATION permissions by adding the following to your AndroidManifest
<uses-permission
android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.INTERNET" />
Using the GPS_PROVIDER is a battery hog, so if your app is going to run in the background, consider using the PASSIVE_PROVIDER to reduce battery usage.
The ThingSpeak API allows channel updates every 15 seconds, and fields can contain either numeric data or alphanumeric strings. There are tons of interesting public channels, including a hamster on Twitter. Have you used ThingSpeak or a similar service? What was your experience? What was/is your use case? Share in the comments below.
Android Developer Newsletter
Do you want to know more? Subscribe to our Android Developer Newsletter. Just type in your email address below to get all the top developer news, tips & links once a week in your inbox:
Email:
PS. No spam, ever. Your email address will only ever be used for Android Dev Weekly.
The waterproof Kyocera Hydro WAVE smartphone makes its way to T-Mobile and MetroPCS

If you’ve been waiting to get your hands on a smartphone that can be dropped in water and would like to refrain from spending almost $700 on a Galaxy S6 Active, there might be a decent option for you over at T-Mobile. Just announced earlier today, the Kyocera Hydro WAVE is a brand new smartphone that’s making its way to both T-Mobile and MetroPCS.
The Hydro WAVE sports a 5.0-inch qHD LCD display, a 1.2GHz quad-core processor, 1GB of RAM, 8GB of on-board storage (expandable via microSD up to 32GB) and a 2300mAh battery. It also runs Android 5.1 Lollipop and ushers in Kyocera’s new “Core Home” software experience, which is an optional, simplified UI for those who prefer the interface of a feature phone.
The big story here is the device’s IPX5 and IPX7 certifications, which allow the device to withstand submersion in water up to 30 minutes at a time in up to 3.28 feet (1 meter). It also has Military Standard 810G certification for shock and drops, an IP5X dustproof rating, and can be operated when wet.
Want to get your hands on one? If you’re a T-Mobile customer, you can purchase the Kyocera Hydro WAVE from today for $149.99, though MetroPCS customers will have to wait until July 27th to pick one up. The device is also available for $189.99 through T-Mobile’s prepaid network.
















