如何获取Android设备信息

时间:2015-09-16 10:08:05

标签: android token info

我是Android新手。我正在开发一个简单的应用程序,我需要从服务器端发送推送通知。

因此,需要在安装app时使用call api发送数据。为此,我必须获取设备信息,如设备名称,版本,唯一密钥(令牌)等。

我试过但没弄到怎么样?任何人都有想法请与我分享。

由于

6 个答案:

答案 0 :(得分:4)

嗨,请看下面的方法,希望你能得到你想要的大部分细节

public static String getDeviceInfo(String p_seperator) throws Throwable
{
    String m_data = "";
    StringBuilder m_builder = new StringBuilder();
    m_builder.append("RELEASE " + android.os.Build.VERSION.RELEASE + p_seperator);
    m_builder.append("DEVICE " + android.os.Build.DEVICE + p_seperator);
    m_builder.append("MODEL " + android.os.Build.MODEL + p_seperator);
    m_builder.append("PRODUCT " + android.os.Build.PRODUCT + p_seperator);
    m_builder.append("BRAND " + android.os.Build.BRAND + p_seperator);
    m_builder.append("DISPLAY " + android.os.Build.DISPLAY + p_seperator);
    // TODO : android.os.Build.CPU_ABI is deprecated
    m_builder.append("CPU_ABI " + android.os.Build.CPU_ABI + p_seperator);
    // TODO : android.os.Build.CPU_ABI2 is deprecated
    m_builder.append("CPU_ABI2 " + android.os.Build.CPU_ABI2 + p_seperator);
    m_builder.append("UNKNOWN " + android.os.Build.UNKNOWN + p_seperator);
    m_builder.append("HARDWARE " + android.os.Build.HARDWARE + p_seperator);
    m_builder.append("ID " + android.os.Build.ID + p_seperator);
    m_builder.append("MANUFACTURER " + android.os.Build.MANUFACTURER + p_seperator);
    m_builder.append("SERIAL " + android.os.Build.SERIAL + p_seperator);
    m_builder.append("USER " + android.os.Build.USER + p_seperator);
    m_builder.append("HOST " + android.os.Build.HOST + p_seperator);
    m_data = m_builder.toString();
    return m_data;
}

下面的方法是获取设备ID

public static String getDeviceID(Context p_context) throws Throwable
{
    String m_deviceID = null;
    TelephonyManager m_telephonyManager = null;
    m_telephonyManager = (TelephonyManager) p_context
            .getSystemService(Context.TELEPHONY_SERVICE);

    m_deviceID = m_telephonyManager.getDeviceId().toString();

    if (m_deviceID == null || "00000000000000".equalsIgnoreCase(m_deviceID))
    {
        m_deviceID = "AAAAAAA";
    }

    return m_deviceID;
}

答案 1 :(得分:1)

Token

import android.provider.Settings.Secure;

private String android_id = Secure.getString(getContext().getContentResolver(), Secure.ANDROID_ID); 

or

TelephonyManager tManager = (TelephonyManager)myActivity.getSystemService(Context.TELEPHONY_SERVICE);
String uid = tManager.getDeviceId();

Android version

android.os.Build.VERSION

Device name

android.os.Build.MODEL;

答案 2 :(得分:1)

使用这些代码行..它将返回android_device_id和name。 你可以通过替换最后一个KeyWord ANDROID_ID ....来获得许多其他东西。

String android_id = Settings.Secure.getString(getApplicationContext().getContentResolver(),
                Settings.Secure.ANDROID_ID);

        String android_name= Settings.Secure.getString(getApplicationContext().getContentResolver(),
                Settings.Secure.NAME);

答案 3 :(得分:0)

Log.i("ManuFacturer :", Build.MANUFACTURER);
Log.i("Board : ", Build.BOARD);
Log.i("Display : ", Build.DISPLAY);

更多信息请访问:http://developer.android.com/reference/android/os/Build.html

关于推送通知,您应该按照以下步骤操作。

  1. 在Google Cloud上创建/注册应用
  2. 使用开发设置Cloud SDK
  3. 为GCM配置项目
  4. 获取设备注册ID
  5. 发送推送通知
  6. 接收推送通知
  7. 有关每个步骤的详细信息,请访问此处: http://rdcworld-android.blogspot.in/2013/11/android-push-notification-google-cloud.html

答案 4 :(得分:0)

试试这个链接:

http://developer.android.com/reference/android/os/Build.htmlhttp://developer.android.com/reference/java/lang/System.html(尝试使用getProperty())

例如:

System.getProperty("os.version"); // OS version
android.os.Build.VERSION.SDK      // API Level
android.os.Build.DEVICE           // Device
android.os.Build.MODEL            // Model 
android.os.Build.PRODUCT          // Product

等等...

答案 5 :(得分:0)

这里的答案都与OP问题无关。

获取推送通知的注册ID。

GoogleCloudMessaging gcm = GoogleCloudMessaging.getInstance(context);
String regid = gcm.register("YOUR_PROJECT_ID");

您可以从https://console.developers.google.com/project

获取您的项目ID

您应该阅读更详细的信息 https://developers.google.com/cloud-messaging/gcm

相关问题