我是Android新手。我正在开发一个简单的应用程序,我需要从服务器端发送推送通知。
因此,需要在安装app时使用call api发送数据。为此,我必须获取设备信息,如设备名称,版本,唯一密钥(令牌)等。
我试过但没弄到怎么样?任何人都有想法请与我分享。
由于
答案 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)
import android.provider.Settings.Secure;
private String android_id = Secure.getString(getContext().getContentResolver(), Secure.ANDROID_ID);
TelephonyManager tManager = (TelephonyManager)myActivity.getSystemService(Context.TELEPHONY_SERVICE);
String uid = tManager.getDeviceId();
android.os.Build.VERSION
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
关于推送通知,您应该按照以下步骤操作。
有关每个步骤的详细信息,请访问此处: http://rdcworld-android.blogspot.in/2013/11/android-push-notification-google-cloud.html
答案 4 :(得分:0)
试试这个链接:
http://developer.android.com/reference/android/os/Build.html和http://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