This Page

has moved to a new address:


Sorry for the inconvenience…

Redirection provided by Blogger to WordPress Migration Service
android smartphone: June 2016

Thursday, June 30, 2016


kali ini, saya akan mengulas tentang hp android gotune 5

Small but Powerfull
Perpaduan desain dan bahan metal alloy, memberikan kesan elegan dan premium, dilengkapi dengan chipset berperforma tinggi namun ramah akan daya yang digunakan, memberikan kesan elegan dengan performa tinggi, semua itu ada di dalam smartphone Gotune 5.

Gotune 5 hadir dengan dimensi layar 5” yang merupakan perpaduan ideal, antara ukuran dan tampilan elegan, ukuran yang nyaman ketika dioperasikan dengan satu tangan dan bentuk yang elegan, baik dari warna dan desain.

Perpaduan antara keindahan dan kekuatan dari Gotune 5 terlahir dari perpaduan antara desain dan penggunaan bahan dasar alloy yang dibuat dengan teknologi tinggi, sehingga memberikan kekuatan, namun tetap indah untuk tampilan keseluruhan Gotune 5, terlihat lebih premium, dan elegan.
Magnesium Aluminum Alloy
CNC Machine Tool

Gotune 5 dilengkapi dengan chipset Mediatek terbaru dengan seri MTK6753 Octa Core @ 1,3 GHz dipadukan dengan pengolah grafis MALI T720 MP3 Chipset ini merupakan chipset yang memiliki kinerja tinggi dan memiliki unsur low power consumption, dilengkapi dengan RAM 2 GB LPDDR3, memberikan Gotune 5 kemampuan untuk berkerja dengan performa tinggi dan multitasking tanpa mengalami lag, meskipun menjalankan aplikasi yang sangat berat, Gotune 5 cocok untuk digunakan oleh eksekutif muda yang membutuhkan multitasking, dan para gamers yang membutuhkan kinerja processor dan grafis tinggi.

Dengan kamera utama 13 megapixel dengan sensor Omnivision OV13850 apertture/f1.8 memungkinkan Gotune 5 untuk mengabadikan setiap momen berharga anda dengan kualitas warna yang natural dan fokus yang tajam, meskipun dalam kondisi low light. Tak lupa juga, untuk kamera sekunder dilengkapi dengan kamera 5MP menggunakan sensor Omnivision OV5648, menjadikan Gotune 5 sebagai partner yang cocok untuk digunakan ber-selfie ria dengan teman, saudara, bahkan pasangan anda.

Banyak pertimbangan kenapa kami menggunakan resolusi HD pada Gotune 5, Layar lebih besar, Chipset kencang, Resolusi tinggi, itu hanya akan membebani baterai dan kinerja smartphone kita. Namun kami telah menemukan kombinasi yang pas antara resolusi HD dengan layar 5 inch yang nyaman dalam satu genggaman tangan saja, dilengkapi dengan Miravision, dan Arc Screen yang membantu Gotune 5 untuk memberikan warna yang tajam tanpa membebani kinerja handset.

Lupakan soft button dengan bentuk konvensional, Gotune 5 menggunakan soft button dengan desain baru, tak hanya menonjolkan inovasi namun memberikan kesan premium dalam desain softbutton yang diberikan.

Didukung dengan Best Flawless Audio, memberikan kemampuan bagi Gotune 5 untuk mampu menghasilkan suara yang lebih jernih. Volume yang dihasilkan lebih keras dan jelas, baik ketika digunakan saat telepon atau digunakan untuk multimedia , musik, video dan gaming, dengan Gotune 5 akan menghasilkan suara yang lebih real dan memberi kesan yang berbeda.
Android 5.1 Lollipop, U Launcher
Elegan, Premium, dan Low Power Consumption
GOTUNE 5 ditanamkan android versi 5.1 Lollipop untuk mendukung multitasking dan kinerja yang cepat. Untuk tampilan, Gotune 5 mendukung themes yang bisa disesuaikan dengan gaya anda, atau menyesuaikan kondisi mood anda, low power consumption kembali ditanamkan dalam Gotune 5 sehingga nilai Elegan, Premium, dan irit akan daya yang dapat mendukung aktivitas harian anda.


Wednesday, June 29, 2016

New video tips to help news publishers find success on Google Play

Today we have released a three-part video series ‘Tips for
your news app on Google Play’
, where you can find actionable tips
and learn best practices for developing, launching and monetising a high quality
news app. The video series accompanies the recently published NewsPublisher Playbook.

Watchthe video series to learn:

  • 10 tips on how to design and develop your News app
  • 10 tips to help you launch your News app and start gaining readers
  • 10 tips to engage your readers and monetize your News app

You can also getthe News Publisher Playbook on the Play Store to help you develop a
successful news mobile strategy on Android. It includes tips on mobile website
optimization, how to create a Google Play Newsstand edition, how to improve your
native app, and more.

Give us your feedback

Once you’ve checked out the video series, we’d love to hear your feedback so we
can continue to help you find success with and achieve your business objectives.
Leave a comment or a thumbs up, and subscribeto the Android Developers YouTube channel!

Also, checkout our other videos in in the Tips for Success on Google Play series,
including the recent video on 10tips to build an app for billions of users.

For more best practices to find success on Google Play, get the newPlaybook for Developers app.

Labels: , , ,

Tuesday, June 28, 2016

Android changes for NDK developers

Related to other improvements to the Android platform, the dynamic linker in
Android M and N has stricter requirements for writing clean, cross-platform
compatible native code in order to load. It is necessary that an application’s
native code follows the rules and recommendations in order to ensure a smooth
transition to recent Android releases.

Below we outline in detail each individual change related to native code
loading, the consequences and steps you can take to avoid issues.

Required tools: there is an <arch>-linux-android-readelf binary (e.g.
arm-linux-androideabi-readelf or i686-linux-android-readelf) for each
architecture in the NDK (under toolchains/), but you can use readelf for any
architecture, as we will be doing basic inspection only. On Linux you need to
have the “binutils” package installed for readelf, and “pax-utils” for scanelf.

Private API (Enforced since API 24)

Native libraries must use only public API,
and must not link against non-NDK platform libraries. Starting with API 24 this
rule is enforced and applications are no longer able to load non-NDK platform
libraries. The rule is enforced by the dynamic linker, so non-public libraries
are not accessible regardless of the way code tries to load them:
System.loadLibrary(...), DT_NEEDED entries, and direct calls to dlopen(...) will
fail in exactly the same way.

Users should have a consistent app experience across updates, and developers
shouldn’t have to make emergency app updates to handle platform changes. For
that reason, we recommend against using private C/C++ symbols. Private symbols
aren’t tested as part of the Compatibility Test Suite (CTS) that all Android
devices must pass. They may not exist, or they may behave differently. This
makes apps that use them more likely to fail on specific devices, or on future
releases --- as many developers found when Android 6.0 Marshmallow switched from
OpenSSL to BoringSSL.

In order to reduce the user impact of this transition, we’ve identified a set of
libraries that see significant use from Google Play’s most-installed apps, and
that are feasible for us to support in the short term (including
libandroid_runtime.so, libcutils.so, libcrypto.so, and libssl.so). In order to
give you more time to transition, we will temporarily support these libraries;
so if you see a warning that means your code will not work in a future release
-- please fix it now!

$ readelf --dynamic libBroken.so | grep NEEDED
 0x00000001 (NEEDED)                     Shared library: [libnativehelper.so]
 0x00000001 (NEEDED)                     Shared library: [libutils.so]
 0x00000001 (NEEDED)                     Shared library: [libstagefright_foundation.so]
 0x00000001 (NEEDED)                     Shared library: [libmedia_jni.so]
 0x00000001 (NEEDED)                     Shared library: [liblog.so]
 0x00000001 (NEEDED)                     Shared library: [libdl.so]
 0x00000001 (NEEDED)                     Shared library: [libz.so]
 0x00000001 (NEEDED)                     Shared library: [libstdc++.so]
 0x00000001 (NEEDED)                     Shared library: [libm.so]
 0x00000001 (NEEDED)                     Shared library: [libc.so]

Potential problems: starting from API 24 the dynamic linker will not load
private libraries, preventing the application from loading.

Resolution: rewrite your native code to rely only on public API. As a short term
workaround, platform libraries without complex dependencies (libcutils.so) can
be copied to the project. As a long term solution the relevant code must be
copied to the project tree. SSL/Media/JNI internal/binder APIs should not be
accessed from the native code. When necessary, native code should call
appropriate public Java API methods.

A complete list of public libraries is available within the NDK, under

Note: SSL/crypto is a special case, applications must NOT use platform libcrypto
and libssl libraries directly, even on older platforms. All applications should
use GMSSecurity Provider to ensure they are protected from known vulnerabilities.

Missing Section Headers (Enforced since API 24)

Each ELF file has additional information contained in the section headers. These
headers must be present now, because the dynamic linker uses them for sanity
checking. Some developers try to strip them in an attempt to obfuscate the
binary and prevent reverse engineering. (This doesn’t really help because it is
possible to reconstruct the stripped information using widely-available tools.)

$ readelf --header libBroken.so | grep 'section headers'
  Start of section headers:          0 (bytes into file)
  Size of section headers:           0 (bytes)
  Number of section headers:         0

Resolution: remove the extra steps from your build that strip section headers.

Text Relocations (Enforced since API 23)

Starting with API 23, shared objects must not contain text relocations. That is,
the code must be loaded as is and must not be modified. Such an approach reduces
load time and improves security.

The usual reason for text relocations is non-position independent hand-written
assembler. This is not common. Use the scanelftool as described in ourdocumentation for further diagnostics:

$ scanelf -qT libTextRel.so
  libTextRel.so: (memory/data?) [0x15E0E2] in (optimized out: previous simd_broken_op1) [0x15E0E0]
  libTextRel.so: (memory/data?) [0x15E3B2] in (optimized out: previous simd_broken_op2) [0x15E3B0]
[skipped the rest]

If you have no scanelf tool available, it is possible to do a basic check with
readelf instead, look for either a TEXTREL entry or the TEXTREL flag. Either
alone is sufficient. (The value corresponding to the TEXTREL entry is irrelevant
and typically 0 --- simply the presence of the TEXTREL entry declares that the
.so contains text relocations). This example has both indicators present:

$ readelf --dynamic libTextRel.so | grep TEXTREL
 0x00000016 (TEXTREL)                    0x0
 0x0000001e (FLAGS)                      SYMBOLIC TEXTREL BIND_NOW

Note: it is technically possible to have a shared object with the TEXTREL
entry/flag but without any actual text relocations. This doesn’t happen with the
NDK, but if you’re generating ELF files yourself make sure you’re not generating
ELF files that claim to have text relocations, because the Android dynamic
linker trusts the entry/flag.

Potential problems: Relocations enforce code pages being writable, and
wastefully increase the number of dirty pages in memory. The dynamic linker has
issued warnings about text relocations since Android K (API 19), but on API 23
and above it refuses to load code with text relocations.

Resolution: rewrite assembler to be position independent to ensure no text
relocations are necessary. Check the Gentoodocumentation for cookbook recipes.

Invalid DT_NEEDED Entries (Enforced since API 23)

While library dependencies (DT_NEEDED entries in the ELF headers) can be
absolute paths, that doesn’t make sense on Android because you have no control
over where your library will be installed by the system. A DT_NEEDED entry
should be the same as the needed library’s SONAME, leaving the business of
finding the library at runtime to the dynamic linker.

Before API 23, Android’s dynamic linker ignored the full path, and used only the
basename (the part after the last ‘/’) when looking up the required libraries.
Since API 23 the runtime linker will honor the DT_NEEDED exactly and so it won’t
be able to load the library if it is not present in that exact location on the

Even worse, some build systems have bugs that cause them to insert DT_NEEDED
entries that point to a file on the build host, something that
cannot be found on the device.

$ readelf --dynamic libSample.so | grep NEEDED
 0x00000001 (NEEDED)                     Shared library: [libm.so]
 0x00000001 (NEEDED)                     Shared library: [libc.so]
 0x00000001 (NEEDED)                     Shared library: [libdl.so]
 0x00000001 (NEEDED)                     Shared library:

Potential problems: before API 23 the DT_NEEDED entry’s basename was used, but
starting from API 23 the Android runtime will try to load the library using the path
specified, and that path won’t exist on the device. There are broken third-party
toolchains/build systems that use a path on a build host instead of the SONAME.

Resolution: make sure all required libraries are referenced by SONAME only. It
is better to let the runtime linker to find and load those libraries as the
location may change from device to device.

Missing SONAME (Used since API 23)

Each ELF shared object (“native library”) must have a SONAME (Shared Object
Name) attribute. The NDK toolchain adds this attribute by default, so its
absence indicates either a misconfigured alternative toolchain or a
misconfiguration in your build system. A missing SONAME may lead to runtime
issues such as the wrong library being loaded: the filename is used instead when
this attribute is missing.

$ readelf --dynamic libWithSoName.so | grep SONAME
 0x0000000e (SONAME)                     Library soname: [libWithSoName.so]

Potential problems: namespace conflicts may lead to the wrong library being
loaded at runtime, which leads to crashes when required symbols are not found,
or you try to use an ABI-incompatible library that isn’t the library you were

Resolution: the current NDK generates the correct SONAME by default. Ensure
you’re using the current NDK and that you haven’t configured your build system
to generate incorrect SONAME entries (using the -soname linker

Please remember, clean, cross-platform code built with a current NDK should have
no issues on Android N. We encourage you to revise your native code build so
that it produces correct binaries.

Labels: ,

Android Mobile Vision restores operation and adds Text API

As an important framework for finding objects in photos and video, Mobile Vision
operation for Android devices is restored in Google Play Services v9.2.

This new version of Google Play Services fixes a download issue in Google Play
Services v.9.0 that caused a service outage. See release notes for

We’re also pleased to announce the Text API, a new component for Android Mobile

The Text API’s optical character recognition technology reads Latin character
text (e.g. English, Spanish, German, French, etc.) in photos and returns the
text as well as the organizational structure (paragraphs, lines, words). Mobile
apps can now:

  • Organize photos that contain text
  • Automate tedious data entry for credit cards, receipts, and business cards
  • Translate documents (along with the Cloud Translate API)
  • Keep track of real objects, such as reading the numbers on subway trains
  • Provide accessibility features

If you want to get started quickly, you can try our codelab which will get Android
developers reading text with their apps in under an hour.

Like the Mobile Vision Face and Barcode components, the Text API runs on-device
and is suitable for real-time applications. For more information, check out the
Mobile Vision Developer

Labels: ,

Thursday, June 23, 2016

Introducing the Android Basics Nanodegree

Posted by Shanea King-Roberson, Lead Program Manager Twitter: @shaneakr Instagram: @theshanea

Do you have an idea for an app but you don’t know where to start? There are over
1 billion Android devices worldwide, providing a way for you to deliver your
ideas to the right people at the right time. Google, in partnership with
Udacity, is making Android development accessible and understandable to
everyone, so that regardless of your background, you can learn to build apps
that improve the lives of people around you.

Enroll in the new Android Basics
. This series of courses and services teaches you how to build
simple Android apps--even if you have little or no programming experience. Take
a look at some of the apps built by our students:

The app "ROP Tutorial" built by student Arpy Vanyan raises awareness of a
potentially blinding eye disorder called Retinopathy of Prematurity that can
affect newborn babies.

And user Charles Tommo created an app called “Dr Malaria” that teaches people
ways to prevent malaria.

With courses designed by Google, you can
learn skills that are applicable to building apps that solve real world
problems. You can learn at your own pace to use href="http://developer.android.com/tools/studio/index.html">Android Studio
(Google’s official tool for Android app development) to design app user
interfaces and implement user interactions using the Java programming language.

The courses walk you through
step-by-step on how to build an order form for a coffee shop, an app to track
pets in a shelter, an app that teaches vocabulary words from the Native American
Miwok tribe, and an app on recent earthquakes in the world. At the end of the
course, you will have an entire portfolio of apps to share with your friends and

Upon completing the Android Basics Nanodegree, you also have the opportunity to
continue your learning with the Career-track Android Nanodegree (for
intermediate developers). The first 50 participants to finish the Android Basics
Nanodegree have a chance to win a scholarship for the Career-track Android
Nanodegree. Please visit href="http://udacity.com/legal/scholarship">udacity.com/legal/scholarship
for additional details and eligibility requirements. You now have a complete
learning path to help you become a technology entrepreneur or most importantly,
build very cool Android apps, for yourself, your communities, and even the

All of the individual courses that make
up this Nanodegree are available online for no charge at href="http://udacity.com/google">udacity.com/google. In addition, Udacity
provides paid services, including access to coaches, guidance on your project,
help staying on track, career counseling, and a certificate upon completion for
a fee.

You will be exposed to introductory computer science concepts in the Java
programming language, as you learn the following skills.

  • Build app user interfaces
  • Implement user interactions
  • Store information in a database
  • Pull data from the internet into your app
  • Identify and fix unexpected behavior in the app
  • Localize your app to support other languages

To enroll in the Android Basics Nanodegree program, href="http://udacity.com/nd803">click here.

See you in class!

Labels: , ,

Thursday, June 16, 2016

smule crack pro v3.7.1

SingKaraoke by Smule merupakan perpaduan antara aplikasi karaoke dan gim video musik. Aplikasi ini mengganti Android Anda menjadi sebuah mesin karaoke sungguhan, dan lebih baik lagi, memungkinkan Anda untuk berbagi lagu dengan para pengguna lain.

Jika Anda mendaftar di SingKaraoke by Smule, Anda akan menerima satu lagu gratis, meskipun Anda dapat membeli banyak lagu jika Anda terus menggunakan aplikasi ini. Cara kerjanya seperti yang Anda harapkan dari sebuah aplikasi karaoke: Anda melihat lirik di layar lalu bernyanyi sesuai melodi yang Anda dengar. Ia bekerja lebih baik jika Anda menggunakan pelantang telinga.

Salah satu bagian terbaik dari Sing! Karaoke by Smule adalah aspek sosialnya, yang mirip dengan jejaring sosial seperti Vine dan Instagram. Anda dapat mengunggah lagu-lagu Anda ke linimasa, mengikuti pengguna lain, dan juga diikuti kembali.

Sing! Karaoke by Smule adalah gim/aplikasi yang sangat baik untuk para penggemar musik, terutama bagi mereka yang suka bernyanyi karaoke. Di sini tersedia banyak pilihan lagu baik judul terkenal maupun lagu-lagu yang kurang populer
berikut link app nya : http://adf.ly/1bFThq

Semoga Bermanfaat


titanium backup pro UPDATE

Titanium Backup is the most powerful backup tool on Android, and then some.
You can backup, restore, freeze (with Pro) your apps + data + PlayStore links. This includes all protected apps & system apps, plus external data on your SD card. You can do 0-click batch & scheduled backups. Backups will operate without closing any apps (with Pro). You can move any app (or app data) to/from the SD card. You can browse any app’s data and even query the Market to see detailed information about the app.

PRO Features Added
– Multiple backups per app
– 0-click batch restore
– Backup/restore SMS,MMS,calls,bookmarks,Wi-Fi AP as XML
– Multi-user support for some apps! (eg: games)
– Batch verification
– Backup apps without closing them!
– Create your own update.zip containing apps+data!
– Restore individual apps+data from non-root ADB backups!
– Restore individual apps+data from CWM backups!
– Restore individual apps+data from TWRP backups!
– Hypershell speed
– Migrate system data across different ROMs
– Market Doctor (relink apps to Market)
– “Destroy all Market links” feature
– Apps freezer (incl. batch support)
– Market “auto updating” manager
– Convert user apps <=> system apps
– Encryption
– Unlimited schedules
– Sync to/from Dropbox (manual/scheduled)
– Sync to/from Box (manual/scheduled)
– Sync to/from Google Drive (manual/scheduled)
– TB Web Server: download/upload your backups as a single ZIP on your computer
– Load/Save a Filter and use it in Widgets/Schedules
– Change the device’s Android ID, restore it from a backup or after a factory reset
– Protect backup against deletion
– Send backup (to e-mail/cloud) and import it in 1 click
– Backup→Verify→Un-install an app in one shot
– Freeze/defrost/launch apps in a single click
– CSV export any app DB (e-mail or Google Docs)
– Brand the app with your name
– Bloatware Melter (experimental)
– Convert app data to/from faster WAL DB format
– And more!

link: titanium backup PRO

link: titanium back PRO 7.3.0

Custom Search


cara melacak handphone hilang

Google terus mengembangkan sistem operasi Smartphonenya yang bernama Android, hampir setiap tahun diluncurkan versi terbaru Android guna memperbaiki dan mempercanggih sistem yang ada di dalamnya. Hingga saat ini Android resmi yang telah digunakan beberapa vendor adalah Android KitKat, dan sedang hangat dalam pembicaraan mengenai sistem operasi Android terbaru yang segera akan diluncurkan yang dinamai Lollipop.
Dalam setiap pembaharuan sistem operasi selalu ada fitur-fitur baru yang diperkenalkan. Dan yang akan kami bahas ini memang bukanlah fitur terbaru, tetapi baru diluncurkan Google setahun yang lalu, fitur ini beranama Android Device Manager. Mungkin ada yang bertanya-tanya apa sih fungsi dari Android Device Manager itu? Lalu bagaimana cara menggunakan Android Device Manager?

Fungsi Android Device Manager

Fungsi Android Device Manager secara umum adalah untuk keamanan smartphone. Ada 3 fitur yang merupakan fungsi inti dari Android Device Manager, yaitu: menemukan smartphone yang hilang, mengunci dan mereset password smartphone dari jarak jauh, dan menghapus data yang terdapat dalam memori smartphone.

Fungsi Android Device Manager Untuk Menemukan Smartphone Hilang

Ada dua cara menemukan smartphone yang hilang menggunakan fitur Android Device Manager, yang pertama jika smartphone hilang atau dicuri gunakan fasilitas Pencarian Lokasi. Namun jika kondisinya lupa menyimpan smartphone, maka gunakan pengaktifan nya.
Menemukan Smartphone Yang Dicuri Dengan Android Device Manager
Untuk mencari smartphone yang hilang maka gunakanlah fitur pencarian lokasi smartphone pada Android Device Manager, untuk mengakses fitur ini bisa dilakukan dengan mengakses halaman Android Device Manager di Web.
  1. Buka halaman android.com/devicemanager, login menggunakan akun yang sama dengan yang digunakan pada smartphone yang hilang
  2. Jika anda mempunyai lebih dari satu perangkat Android, pilih nama perangkat yang hilang, menunya terletak di samping nama perangkat berupa panah
  3. Secara otomatis Android Device Manager akan menampilkan lokasi smartphone yang hilang pada peta Google Maps. Untuk lebih meyakinkan klik icon target yang berada di sudut kanan disamping icon pensil.

Menemukan Smartphone Jika Lupa Menyimpan
Jika kondinya hilangnya adalah lupa menyimpan, maka gunakanlah fitur pengaktif nada dering. Atau cara ini bisa dilakukan sebagai langkah kedua dari langkah pertama di atas. Jika pada peta menujukkan ponsel berada masih di lokasi yang sama dengan tempat kita berada maka gunakanlah fitur ini. Caranya sebagai berikut:
  1. Lakukan langkah 1 & 2
  2. Klik menu Ring atau Dering ditandai dengan icon gembok, setelah menekan menu tersebut ponsel akan berdering hingga 5 menit dengan volume maksimum meskipun sebelumnya ponsel disetting senyap.

Fungsi Android Device Manager Untuk Mengubah Password

Dalam proses pencarian smartphone yang hilang dibutuhkan waktu untuk menemukannya. Maka dari itu alangkah baiknya jika anda telah menemukan dimana letak smartphone anda hilang, segera lakukan penguncian layar dengan password baru supaya jika ada yang menemukannya, mereka tidak akan bisa mengakses smartphone anda. Cara menggunakan fitur ini sebagai berikut:
  1. Lakukan langkah 1 & 2
  2. Klik menu Kunci atau Lock ditandai dengan icon gembok, kemudian setting password baru untuk membuka kunci smartphone anda.
Selain dapat mengunci smartphone, anda juga bisa menuliskan nomor telepon anda yang bisa dihubungi oleh si penemu smartphone yang hilang. Supaya nomor telepon tersebut dapat terlihat oleh si penemu smartphone, isi kolom Nomor Telepon (opsional).

Fungsi Android Device Manager Untuk Menghapus Data

Langkah ini dilakukan jika anda khawatir si penemu smartphone telah membuka melihat-lihat isi smartphone anda. Maka lakukanlah penghapusan data, ini berguna untuk berjaga-jaga supaya data-data penting anda tidak ikut dicuri. Caranya sebagai berikut:
  1. Lakukan langkah 1 & 2
  2. Klik menu Hapus atau Erase ditandai dengan icon gembok, secara otomatis semua data yang terdapat dalam smartphone anda akan dihapus oleh Android Device Manager.
Semua fitur Android Device Manager di atas, yaitu menemukan lokasi, menderingkan, mengunci dan menghapus data smartphone baru bisa dilakukan jika keadaan smartphone yang hilang terhubung ke internet. Maka jika smartphone anda hilang, sering-seringlah mengakses halaman Android Device Manager untuk mengecek smartphone anda terhubung internet atau tidak. Jika didapat smartphone anda aktif atau online segera kunci layar, kemudian baru cari titik lokasi smartphone tersebut.
Cara Mengaktifkan Android Device Manager
Supaya smartphone Android bisa diakses melalui Android Device Manager maka sebelumnya ada syarat yang harus dipenuhi, yaitu fitur Android Device Manager dalam smartphone tersebut harus diaktifkan. Cara mengaktifkan Android Device Manager yaitu: masuk ke menu Setting » Security » Device Administrators lalu centang pada pilihan Android Device Manager.
Demikianlah artikel tentang Fungsi Android Device Manager dan Cara Menggunakannya, semoga ini bisa bermanfaat untuk kita semua.


Thursday, June 9, 2016

Notifications in Android N

Posted by Ian Lake, Developer Advocate

Android notifications are often a make-or-break interaction between your Android app and users. To provide a better user experience, notifications on Android N have received a visual refresh, improved support for custom views, and expanded functionality in the forms of Direct Reply, a new MessagingStyle, and bundled notifications.

Same notification, new look

The first and most obvious change is that the default look and feel of notifications has significantly changed. Many of the fields that were spread around the notifications have been collapsed into a new header row with your app’s icon and name anchoring the notification. This change ensured that the title, text, and large icon are given the most amount of space possible and, as a result, notifications are generally slightly larger now and easier to read.

Given the single header row, it is more important than ever that the information there is useful. When you target Android N, by default the time will be hidden - if you have a time critical notification such as a messaging app, you can re-enable it with setShowWhen(true). In addition, the subtext now supersedes the role of content info and number: number is never shown on Android N devices and only if you target a previous version of Android and don’t include a subtext will content info appear. In all cases, ensure that the subtext is relevant and useful - don’t add an account email address as your subtext if the user only has one account, for example.
Notification actions have also received a redesign and are now in a visually separate bar below the notification.

You’ll note that the icons are not present in the new notifications; instead more room is provided for the labels themselves in the constrained space of the notification shade. However, the notification action icons are still required and continue to be used on older versions of Android and on devices such as Android Wear.
If you’ve been building your notification with NotificationCompat.Builder and the standard styles available to you there, you’ll get the new look and feel by default with no code changes required.

Better Support for Custom Views

If you’re instead building your notification from custom RemoteViews, adapting to any new style has been challenging. With the new header, expanding behavior, actions, and large icon positioning as separate elements from the main text+title of the notification, we’ve introduced a new DecoratedCustomViewStyle and DecoratedMediaCustomViewStyle to provide all of these elements, allowing you to focus only on the content portion with the new setCustomContentView() method.

This also ensures that future look and feel changes should be significantly easier to adapt to as these styles will be updated alongside the platform with no code changes needed on the app side.

Direct Reply

While notification actions have already been able to launch an Activity or do background work with a Service or BroadcastReceiver, Direct Reply allows you to build an action that directly receives text input inline with the notification actions.

Direct Reply uses the same href="https://developer.android.com/reference/android/support/v4/app/RemoteInput.html?utm_campaign=android_series_notificationsandroidnblog_060816&utm_source=anddev&utm_medium=blog">RemoteInput API - originally introduced for Android Wear - to mark an Action as being able to directly receive input from the user.
The RemoteInput itself contains information like the key which will be used to later retrieve the input and the hint text which is displayed before the user starts typing.
// Where should direct replies be put in the intent bundle (can be any string)
private static final String KEY_TEXT_REPLY = "key_text_reply";

// Create the RemoteInput specifying this key
String replyLabel = getString(R.string.reply_label);
RemoteInput remoteInput = new RemoteInput.Builder(KEY_TEXT_REPLY)

Once you’ve constructed the RemoteInput, it can be attached to your Action via the aptly named addRemoteInput() method. You might consider also calling setAllowGeneratedReplies(true) to enable href="https://developer.android.com/wear/preview/index.html?utm_campaign=android_series_notificationsandroidnblog_060816&utm_source=anddev&utm_medium=blog">Android Wear 2.0 to generate href="https://developer.android.com/wear/preview/api-overview.html?utm_campaign=android_series_notificationsandroidnblog_060816&utm_source=anddev&utm_medium=blog#smart-replies">Smart Reply choices when available and make it easier for users to quickly respond.
// Add to your action, enabling Direct Reply for it
NotificationCompat.Action action =
    new NotificationCompat.Action.Builder(R.drawable.reply, replyLabel, pendingIntent)

Keep in mind that the pendingIntent being passed into your Action should be an Activity on Marshmallow and lower devices that don’t support Direct Reply (as you’ll want to dismiss the lock screen, start an Activity, and focus the input field to have the user type their reply) and should be a Service (if you need to do work on a separate thread) or BroadcastReceiver (which runs on the UI thread) on Android N devices so as the process the text input in the background even from the lock screen. (There is a separate user control to enable/disable Direct Reply from a locked device in the system settings.)
Extracting the text input in your Service/BroadcastReceiver is then possible with the help of the href="https://developer.android.com/reference/android/support/v4/app/RemoteInput.html#getResultsFromIntent(android.content.Intent)">RemoteInput.getResultsFromIntent() method:
private CharSequence getMessageText(Intent intent) {
    Bundle remoteInput = RemoteInput.getResultsFromIntent(intent);
    if (remoteInput != null) {
        return remoteInput.getCharSequence(KEY_TEXT_REPLY);
    return null;

After you’ve processed the text, you must update the notification. This is the trigger which hides the Direct Reply UI and should be used as a technique to confirm to the user that their reply was received and processed correctly.
For most templates, this should involve using the new setRemoteInputHistory() method which appends the reply to the bottom of the notification. Additional replies should be appended to the history until the main content is updated (such as the other person replying).

However, if you’re building a messaging app and expect back and forth conversations, you should use MessagingStyle and append the additional message to it.


We’ve optimized the experience for displaying an ongoing conversation and using Direct Reply with the new MessagingStyle.

This style provides built-in formatting for multiple messages added via the addMessage() method. Each message supports passing in the text itself, a timestamp, and the sender of the message (making it easy to support group conversations).
builder.setStyle(new NotificationCompat.MessagingStyle("Me")
    .setConversationTitle("Team lunch")
    .addMessage("Hi", timestampMillis1, null) // Pass in null for user.
    .addMessage("What's up?", timestampMillis2, "Coworker")
    .addMessage("Not much", timestampMillis3, null)
    .addMessage("How about lunch?", timestampMillis4, "Coworker"));

You’ll note that this style has first-class support for specifically denoting messages from the user and filling in their name (in this case with “Me”) and setting an optional conversation title. While this can be done manually with a BigTextStyle, by using this style Android Wear 2.0 users will get immediate inline responses without kicking them out of the expanded notification view, making for a seamless experience without needing to build a full Wear app.

Bundled Notifications

Once you’ve built a great notification by using the new visual designs, Direct Reply, MessagingStyle, and href="https://www.youtube.com/watch?v=-iog_fmm6mE">all of our previous best practices, it is important to think about the overall notification experience, particularly if you post multiple notifications (say, one per ongoing conversation or per new email thread).

Bundled notifications offer the best of both worlds: a single summary notification for when users are looking at other notifications or want to act on all notifications simultaneously and the ability to expand the group to act on individual notifications (including using actions and Direct Reply).
If you’ve built href="https://developer.android.com/training/wearables/notifications/stacks.html?utm_campaign=android_series_notificationsandroidnblog_060816&utm_source=anddev&utm_medium=blog">stacking notifications for Android Wear, the API used here is exactly the same. Simply add href="https://developer.android.com/reference/android/support/v4/app/NotificationCompat.Builder.html?utm_campaign=android_series_notificationsandroidnblog_060816&utm_source=anddev&utm_medium=blog#setGroup(java.lang.String)">setGroup() to each individual notification to bundle those notifications together. You’re not limited to one group, so bundle notifications appropriately. For an email app, you might consider one bundle per account for instance.
It is important to also create a summary notification. This summary notification, denoted by href="https://developer.android.com/reference/android/support/v4/app/NotificationCompat.Builder.html?utm_campaign=android_series_notificationsandroidnblog_060816&utm_source=anddev&utm_medium=blog#setGroupSummary(boolean)">setGroupSummary(true), is the only notification that appears on Marshmallow and lower devices and should (you guessed it) summarize all of the individual notifications. This is an opportune time to use the href="https://developer.android.com/reference/android/support/v4/app/NotificationCompat.InboxStyle.html?utm_campaign=android_series_notificationsandroidnblog_060816&utm_source=anddev&utm_medium=blog">InboxStyle, although using it is not a requirement. On Android N and higher devices, some information (such as the subtext, content intent, and delete intent) is extracted from the summary notification to produce the collapsed notification for the bundled notifications so you should continue to generate a summary notification on all API levels.
To improve the overall user experience on Android N devices, posting 4 or more notifications without a group will cause those notifications to be automatically bundled.

N is for Notifications

Notifications on Android have been a constant area of progressive enhancement. From the single tap targets of the Gingerbread era to expandable notifications, actions, MediaStyle, and now features such as Direct Reply and bundled notifications, notifications play an important part of the overall user experience on Android.
With many new tools to use (and href="https://developer.android.com/reference/android/support/v4/app/NotificationCompat.html?utm_campaign=android_series_notificationsandroidnblog_060816&utm_source=anddev&utm_medium=blog">NotificationCompat to help with backward compatibility), I’m excited to see how you use them to #BuildBetterApps
Follow the href="https://plus.google.com/collection/sLR0p?utm_campaign=android_series_design_multiwindow_blog_051116&utm_source=anddev&utm_medium=blog">Android Development Patterns Collection for more!

Labels: ,