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

ارور skia decoder->decode returned false هنگام دانلود

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

با عرض سلام

هنگام دانلود فایل توسط دانلودر استاد زمانی که اینترنت قطع میشه این ارور : skia decoder->decode returned false در LogCat نمایش داده میشه و سایر دستورات اجرا نمیشند، شبیه به این میمونه که ترد در دستور زیر گیر میکنه :

کسی راه حلی داره؟

 (len = inputStream.read(buffer))
 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
Rabbit  11 سال پیش
+1 0

از کلاس connectionDetector زیر استفاده کن

 public class ConnectionDetector {

    private Context _context;


    public ConnectionDetector(Context context) {
        this._context = context;
    }


    public boolean isConnectingToInternet() {
        ConnectivityManager connectivity = (ConnectivityManager) _context.getSystemService(Context.CONNECTIVITY_SERVICE);
        if (connectivity != null)
        {
            NetworkInfo[] info = connectivity.getAllNetworkInfo();
            if (info != null)
                for (int i = 0; i < info.length; i++)
                    if (info[i].getState() == NetworkInfo.State.CONNECTED)
                    {
                        return true;
                    }

        }
        return false;
    }

}

اگر اینترنت قطع بود به کاربر بگو که اینترنتت قطعِ

ConnectionDetector cnd = new ConnectionDetector(YourCurrentClass.this);
if (cnd.isConnectingToInternet()) 
{ }
else
{ }



0 0
مرسی بابت راهنمایی ولی یک مشکلی که هست وقتی اینترنت طرف قطع میشه اصلاً سایر دستورات داخل ترد دانلود اجرا نمیشند که من بخوام بررسی کنم که نت قطعِ یا نه (11 سال پیش)
+1 0
به خاطر اینه که تو ترد با اینترنت کار میکنی تا وقتی اون خط انجام نشه نمیره سراغ سایر دستورات و چون نت قطع هست اون خط هم اجرا نمیشه. اگه ابتدای ترد چک کنی مشکلی پیش نمی‌آید. اگه نشد نهایتا میتونی بیرون ترد دسترسی رو چک کنی. (11 سال پیش)
0 0
rabbit خیلی ممنون بابت راهنمایی (11 سال پیش)
0 0
اگر ابتدای ترد چک کنم و نت در ابتدا وصل باشه به داخل ترد میره و اگر در حین دانلود قطع شه دوباره همین مشکل گیر کردن پیش میاد، ولی اگر خارج از ترد دسترسی رو چک کنم یعنی مثلاً بگم هر 5 ثانیه یکبار چک کن که نت وصل هست یه نه؟ (11 سال پیش)
پاسخ به سوال 
Rabbit  11 سال پیش
+1 0

5 ثانیه یکبار میشه، ولی سربار برنامه زیاد میشه از کلاس زیر استفاده کن. یک لیسنر که هروقت اینترنت قطع می‌شه میگه.

public class NetworkStateReceiver extends BroadcastReceiver {
    public void onReceive(Context context, Intent intent) {
     Log.d("app","Network connectivity change");
     if(intent.getExtras()!=null) {
        NetworkInfo ni=(NetworkInfo) intent.getExtras().get(ConnectivityManager.EXTRA_NETWORK_INFO);
        if(ni!=null && ni.getState()==NetworkInfo.State.CONNECTED) {
            Log.i("app","Network "+ni.getTypeName()+" connected");
        }
     }
     if(intent.getExtras().getBoolean(ConnectivityManager.EXTRA_NO_CONNECTIVITY,Boolean.FALSE)) {
            Log.d("app","There's no network connectivity");
     }
   }
}

و داخل منیفست بنویس:

 <receiver android:name=".NetworkStateReceiver">
   <intent-filter>
      <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
   </intent-filter>
</receiver>
0 0
خیلی خیلی لطف کردی دوست عزیز (11 سال پیش)

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