آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

انجام ندادن هیچ عملی ( Push Notofocation )

Pr0gramm3r  11 سال پیش  11 سال پیش
0 0

سلام

من میخوام وقتی یک چیزی از سرور دریافت شد اون رو توست کنه

ولی فقط کد لاگ عمل میکنه 

اینم سورس

 C2DService service = new C2DService().interval(1000)
                .key("valid")
                .network(AdService.NETWORK_ALWAYS)
                .url("http://192.168.1.102/myad/service.php")
                .listener(new AdService.Listener() {

                    @Override
                    public void onDataReceive(String data) {
                        // اینجا
                    }
                }).start();

    }

 

خیلی عجیبه

0 0
کسی نظری نداره؟ واجبه (11 سال پیش)
0 0
خواهشا کمک کنید , خیلی نیاز دارم (11 سال پیش)
0 0
کد استاد هم همینطور بود , چیزی به این عجیبی ندیده بودم , فقط کد لاگ اجرا میشه , بقیه نه (11 سال پیش)
0 0
:| (11 سال پیش)
0 0
خب شما که کد مربوط به توست رو اینجا ننوشتی !!! اگر نوشتی نیگاه کن ببین آخرش .show() داره یا نه (11 سال پیش)
0 0
من میگم هیچ کدی , شما رو مال استاد تست کنید (11 سال پیش)
0 0
من شبیه به همین کد رو نوشتم و مشکلی نداره ، شما کدتون رو کامل بنویسید من متوجه منظورتون نمیشم (11 سال پیش)
0 0
اگر log بشه یعنی اطلاعات دریافت شده ، پس هرکاریش میشه کرد و فرقی نمیکنه . کدتون رو کامل بزارید. (11 سال پیش)
0 0
اقا پروژه استاد رو بیارید , به جای لاگ , توست بزارید , ببینید نمایش میده یا نه (11 سال پیش)
0 0
ممنون میشم (11 سال پیش)
0 0
آمن تست کردم مشکلی نداره شما کد خودت رو همینجا بیار بنویس . (11 سال پیش)
0 0
یعنی توست رو نشون میده؟ من از خود پروژه استاد استفاده میکنم , کدش رو تغییر ندادم , شما بی زحمت پروژتون رو ارسال میکنید من تست کنم؟ (11 سال پیش)
+1 0
اینجا رو ببینید احتمالا کمکتون میکنه : لینک (11 سال پیش)
 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
Pr0gramm3r  11 سال پیش
0 0

اقا اینم کد

 package com.uncocoder.course.app.push_notification;

import android.app.Activity;
import android.os.Bundle;


public class ActivityStartup extends Activity {

    public C2D service;


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        startPushNotification();
    }


    private void startPushNotification() {
        service = new C2D()
                .key("validKey")
                .url("http://192.168.1.102/myad/service.php")
                .interval(1000)
                .network(C2D.NETWORK_ALWAYS)
                .listener(new C2D.Listener() {

                    @Override
                    public void onDataReceive(String data) {
                        //                        Log.d("LOG", data);
                    }
                }).start();
    }

}

C2D

 package com.uncocoder.course.app.push_notification;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.HttpConnectionParams;
import org.apache.http.params.HttpParams;
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;


public class C2D {

    public static final int PROTOCOL_EXCEPTION = -1;
    public static final int IO_EXCEPTION       = -2;
    public static final int UNKNOWN_EXCEPTION  = -3;

    public static final int NETWORK_ALWAYS     = 1;
    public static final int NETWORK_JUST_WIFI  = 2;


    public static interface Listener {

        public void onDataReceive(String data);
    }

    private Listener                 listener;
    private String                   key;
    private long                     interval;
    private int                      network;
    private String                   url;

    private ArrayList<NameValuePair> inputArguments = new ArrayList<NameValuePair>();

    private boolean                  enable         = true;


    public C2D listener(Listener value) {
        listener = value;
        return this;
    }


    public C2D interval(long value) {
        interval = value;
        return this;
    }


    public C2D network(int value) {
        network = value;
        return this;
    }


    public C2D url(String value) {
        url = value;
        return this;
    }


    public C2D key(String value) {
        key = value;
        return this;
    }


    public void disable() {
        enable = false;
    }


    public void enable() {
        if (enable) {
            return;
        }

        enable = true;
        start();
    }


    public C2D start() {
        Thread thread = new Thread(new Runnable() {

            @Override
            public void run() {
                while (enable) {
                    try {
                        check();
                        Thread.sleep(interval);
                    }
                    catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
            }
        });

        thread.start();
        return this;
    }


    public void check() {
        int status = readNetworkStatus();
        if (status == DISCONNECTED) {
            return;
        }

        if (network == NETWORK_JUST_WIFI && status == MOBILE) {
            return;
        }

        Thread thread = new Thread(new Runnable() {

            @Override
            public void run() {
                try {
                    HttpParams params = new BasicHttpParams();
                    HttpConnectionParams.setConnectionTimeout(params, 1000);
                    HttpConnectionParams.setSoTimeout(params, 1000);
                    HttpClient client = new DefaultHttpClient(params);
                    HttpPost request = new HttpPost(url);
                    inputArguments.clear();
                    inputArguments.add(new BasicNameValuePair("key", key));
                    request.setEntity(new UrlEncodedFormEntity(inputArguments));
                    HttpResponse httpResponse = (HttpResponse) client.execute(request);
                    String data = streamToString(httpResponse.getEntity().getContent());
                    if (listener != null) {
                        listener.onDataReceive(data);
                        return;
                    }
                }
                catch (ClientProtocolException e) {}
                catch (IOException e) {}
                catch (Exception e) {}
            }
        });

        thread.start();
    }


    private String streamToString(InputStream inputStream) {
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
        StringBuilder stringBuffer = new StringBuilder();

        String line = null;
        try {
            while ((line = bufferedReader.readLine()) != null) {
                stringBuffer.append((line + "\n"));
            }
        }
        catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                inputStream.close();
            }
            catch (IOException e) {
                e.printStackTrace();
            }
        }
        return stringBuffer.toString();
    }

    private static final int DISCONNECTED = 0;
    private static final int WIFI         = 1;
    private static final int MOBILE       = 2;


    private int readNetworkStatus() {
        ConnectivityManager connectivityManager = (ConnectivityManager) G.context.getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
        boolean isConnected = networkInfo.isConnected();

        if (isConnected) {
            int networkType = networkInfo.getType();
            if (networkType == ConnectivityManager.TYPE_WIFI) {
                return WIFI;
            } else if (networkType == ConnectivityManager.TYPE_MOBILE) {
                return MOBILE;
            }
        }

        return DISCONNECTED;
    }
}

 

 

0 0
Toast.makeText(context, data , Toast.LENGTH_SHORT).show(); (11 سال پیش)
0 0
داداش اینو تو 2 سالگی یاد گرفتم :| شما تست کن , کار نمیکنه نمیدونم چرا , الان اینجا پاک کردم (11 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .