application for a specific unique device - android

Is there any way to build application for a specific unique device?
Suppose I have one android device and I want to create an apk file for that device only, that apk can't be get installed on any another device, is it possible?

You can use the code in this answer to get the unique device ID.
However, you won't be able to use this to restrict Google Play to restrict your app to this device only, instead, as #ThomasK suggests, you can add a check for this specific device id and finish() if it's not the specific device.
You can limit your app installing from play in many ways, but you cannot restrict it to that extent at a configuration level.

No, you can't do that, Impossible

There are two chances for your purpose:
1st:
when the app starts (that means installing IS possible) you could get the MODEL of the device and if it is NOT the device you designed the app for, you could finish() the activity and the app.
getting the model:
String PhoneModel = android.os.Build.MODEL;
2nd:
Afaik there is a possibility to control what devices are forbidden for your app in the Google Play Store maybe there is not only a Blacklist, but a Whitelist for this?

that apk can't be get installed on any another device, is it possible?
I am not sure about this.But you can decide whether to Enable certain feature based on Device.
Like you can programatically check device wifi mac address which is unique to each device.
If it don't match your criteria don't enable the feature.

Related

Android build release | Is there any specific way to allow the android app download for some selected mobile phones only?

I am creating an app for store management that will be used in retail stores for managing user and other store related activities like redeeming coupons / points. The requirement is to install this app on some specific devices only provided by stores. I am listing use case below for better understanding:
There are two Samsung M51 devices, let's say SM001 and SM002 so the app should only work on SM001 not on SM002.
There may be below ways(theoretical) to achieve this:
It will not install on restricted devices, but it does not seem feasible as we need a mechanism that puts a check on deviceID(Some device specific identifier) before installing it.
It can be installed on any device but when the user opens it then it will check with the list of allowed deviceIDs and then show an error.
from above two assumptions another question arises that what will be the unique identifier for a device and that never changes?

Adobe Flash App -- Unique Device ID

I'm developing an application using Adobe Flash (AS3) which runs mainly on tablets.
I would like users to pay. So they have to activate their application.
To do this I thought about providing an activation Code that is built using a univoque Device Identifier (UDID)
So, the customer provides me his UDID and I return the activation code which works only on his device.
My problem is (I searched everywhere)... how can I obtain an UDID using AS3?
Or also, do you suggest a different approch to reach my goal?
Thank you very much!
Daniele
There is no single correct solution to what you are asking , It depends entirely on your needs and kind of app you are publishing.
createUID() function in mx.utils package Generates a UID (unique
identifier) based on ActionScript's pseudo-random number generator and
the current time.
But that may not help you as this ID is not machine dependent , user can simply publish his UID and your authentication key . User may need to install the app in other of his devices, user may accidentally delete the file which will delete the originally generated UID too.
A 64-bit number (as a hex string) is randomly generated when the user first sets up the device and remains constant for the lifetime of the user's device. The value may change if a factory reset is performed on the device.This is accessible using java by constant ANDROID_ID there is no library in ActionScript-3 to access this . But you can use this ane to get it.
Or You can use a sign in from facebook using this ane or google+ and use the customers unique id from there , but it would require him to give your app permissions to view some basic information.

How to match devide ID to install apk?

I need to install my app only on some devices and does not allow installation on another devices.
I thought that maybe I can pair a unique ID to install apps.
I can do this?
How I can block the installation of a single application on some devices?
You cannot control app installation based on Device Id (IMEI) either by google play store or direct install... However you can check at the start of the launcher activity, you can check that the Device Id (or Imei) is in the list of imei you are allowing... Then allow user to use the apk... ELSE finish() the launcher activity... You can also give message to user stating "Unauthorized access" or something similar...
I thought that maybe I can pair a unique ID to install app
There's no platform provided, reliable uniquie ID of the device.
How I can block the installation of a single application on some devices?
You cannot block installation on device - as long as device meets your manifest requirements (screen, libs, platform version etc) user will be able to install your app.
Google provides you with this option also. If you have an account in the developer console of android, in the apk column you can see the list of devices your app supports. Out of that you can deselect the ones you don't want in your list.
At the time you are uploading the apk to play store, its very easy to deselect the devices you don't want your app to run on.

Allowing only "Eligible/Allowed" users to install apk app

I want to make my Android application such that only eligible/allowed users can install or use it.
Like: to set device IMEI of allowed devices in manifest. Or something/anything like this? Or to ask for a device's specific code which should be entered to use the application?

What's the purpose of Android Development device id?

What's the purpose of Android Development device id, under Developer Options on ICS? I've googled and found nothing.
The device id is yet another manner that your apps can be linked to your phone. Most apps are linked to your account, but some, particularly those that you could not pay for via market, used device id so that you could not buy an app and then install it on several devices.
It used to be hidden only, and maybe after the final is out, it will be hidden again.
for more information -
http://androidforums.com/motorola-droid-bionic/584694-ics-development-device-id.html
May be this will help you......
Every device has an android device ID, the only (user) way to reset this ID is to use android's reset to factory defaults options - so this ID should remain constant unless a phone is sold/transfers ownership etc. The ID should be unique across all devices across all time.
These properties make it a very useful thing to store licences/security against.

Categories

Resources