デバイスがc2dmから登録解除されたら、mysql dbから削除する方法を誰かが知っていますか?私は私の主な活動にあります:
public void unregister (View view){
Log.w("C2DM", "start unregister process");
Intent unregIntent = new Intent("com.google.android.c2dm.intent.UNREGISTER");
unregIntent.putExtra("app", PendingIntent.getBroadcast(this, 0, new Intent(), 0));
Toast.makeText(getApplicationContext(), "unregistered", Toast.LENGTH_LONG).show();
startService(unregIntent);
今ここに私の問題があります。登録するときに、デバイスIDと登録IDをmysqlデータベースに入力します(これは機能します)。登録解除をクリックすると、これを削除します。
私の登録受信機内で私は持っています
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
Log.w("C2DM", "Registration Receiver called");
if ("com.google.android.c2dm.intent.REGISTRATION".equals(action)) {
Log.w("C2DM", "Received registration ID");
final String registrationId = intent
.getStringExtra("registration_id");
String error = intent.getStringExtra("error");
Log.d("C2DM", "dmControl: registrationId = " + registrationId
+ ", error = " + error);
String deviceId = Secure.getString(context.getContentResolver(),
Secure.ANDROID_ID);
createNotification(context, registrationId);
sendRegistrationIdToServer(deviceId, registrationId);
// Also save it in the preference to be able to show it later
saveRegistrationId(context, registrationId);}
sendRegistrationIdToServerは次のとおりです。
public void sendRegistrationIdToServer(String deviceId, String registrationId) {
Log.d("C2DM", "Sending registration ID to my application server");
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("http://myserver.com/Sandbox/androidDevice.php");
try {
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(1);
// Get the deviceID
nameValuePairs.add(new BasicNameValuePair("Email", deviceId));
nameValuePairs.add(new BasicNameValuePair("DeviceID", registrationId));
post.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = client.execute(post);
BufferedReader rd = new BufferedReader(new InputStreamReader(
response.getEntity().getContent()));
String line = "";
while ((line = rd.readLine()) != null) {
Log.e("HttpResponse", line);
}
} catch (IOException e) {
e.printStackTrace();
}
onReceiveとsendRegistrationIdtoserverは、デバイスが登録されているときのものです。上記から、phpスクリプト(androidDevice.php)のURLを削除スクリプトに変更すると、レコードがデータベースから削除されます(登録ボタンをクリックすると)。だから私はスクリプトが機能することを知っています。登録の場合と同じように、登録を解除するために使用できるものはありますか?:
if ("com.google.android.c2dm.intent.REGISTRATION".equals(action)) {
(私は何か意味を持っていますか?)いつものように助けていただければ幸いです