0

私は Android アプリに取り組んでおり、着信メッセージを受信したときに PHP フォームに投稿するか、MySQL データベースに挿入する必要があります。返信をためらう方もいらっしゃるかもしれませんが、これは悪意のあるアプリではありません。

以下に投稿しているコードは、1 つの番号を除いて着信メッセージをブロックするために使用しているものです。テキストメッセージがブロックされたときにサーバーへの投稿をトリガーする方法を見つけるのを手伝ってくれる人はいますか?

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.SmsMessage;
import android.widget.Toast;

public class SmsReceiver extends BroadcastReceiver {

public static int MSG_TPE=0;
private String getAddress;
public void onReceive(Context context, Intent intent) { 
    String MSG_TYPE=intent.getAction();
        if(MSG_TYPE.equals("android.provider.Telephony.SMS_RECEIVED")) {
            Toast received = Toast.makeText(context,"SMS Received: "+MSG_TYPE , Toast.LENGTH_LONG);
            received.show();

                Bundle bundle = intent.getExtras();
                Object messages[] = (Object[]) bundle.get("pdus");
                SmsMessage smsMessage[] = new SmsMessage[messages.length];
                for (int n = 0; n < messages.length; n++) {
                    smsMessage[n] = SmsMessage.createFromPdu((byte[]) messages[n]);
                }

                    getAddress = smsMessage[0].getOriginatingAddress();
                    if(getAddress.equals("APPROVEDPHONENUMBER")) {
                        Toast approved = Toast.makeText(context,"Approved SMS from: " + smsMessage[0].getOriginatingAddress(), Toast.LENGTH_LONG);
                        approved.show();
                            // Message is approved and let through
                    } else {
                        Toast blocked = Toast.makeText(context,"Blocked SMS from: " + smsMessage[0].getOriginatingAddress(), Toast.LENGTH_LONG);
                        blocked.show();
                            // Post to MySQL database
                            abortBroadcast();
                    }
                        for(int i=0;i<8;i++) {
                            System.out.println("Blocking SMS");
                        }

        }

}

}

基本的に私がやりたいことは、イベントが発生したときにアプリ内から外部の PHP フォームに投稿することです。

4

1 に答える 1

0

あなたの質問を理解できたかどうかわかりません..では、基本的に、何らかのイベントが発生したときに、Web サーバーにデータを投稿したいですか?

このイベントをトリガーするコードが既にあるようですが、データを投稿する方法を尋ねているだけですか? 次に例を示します。

HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost("www.test.com");  
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();  
nameValuePairs.add(new BasicNameValuePair("name1", "value1"));  
nameValuePairs.add(new BasicNameValuePair("name2", "value2")); 
nameValuePairs.add(new BasicNameValuePair("name3", "value3"));   
// etc...
httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 
HttpResponse response = httpClient.execute(httpPost);
于 2012-06-26T16:48:58.073 に答える