Jak wyświetlić pasek postępu w obszarze powiadomień?

Cześć, robię aplikację na Androida, w której przesyłam filmy na serwer PHP.
Ja używamHTTPURLConnection aby przesłać. Uderzyłem w pokazywanie paska postępu w obszarze powiadomień i aktualizowanie go.
Szukam prawie tygodnia, żeby to zrobić. Ale nie mogę uzyskać podpowiedzi. Pomóż mi, jeśli ktoś wie:

Mój kod:

HttpURLConnection conn = null;
        DataOutputStream dos = null;
        DataInputStream inStream = null;
        String lineEnd = "\r\n";
        String twoHyphens = "--";
        String boundary = "*****";
        int bytesRead;
        byte[] buffer;
        String urlString = "http://xxxxx/My_path.php";
        try {
            long total = 0;
            int count = 0;
            // ------------------ CLIENT REQUEST
            UUID uniqueKey = UUID.randomUUID();
            fname = uniqueKey.toString();
            Log.e("UNIQUE NAME", fname);
            FileInputStream fileInputStream = new FileInputStream(
                    new File(selectedPath));
            URL url = new URL(urlString);                       
            conn = (HttpURLConnection) url.openConnection();
            int length=selectedPath.length();
            conn.setDoInput(true);
            conn.setDoOutput(true);
            conn.setUseCaches(false);
            conn.setRequestMethod("POST");
            conn.setRequestProperty("Connection", "Keep-Alive");
            conn.setRequestProperty("Content-Type",
                    "multipart/form-data;boundary=" + boundary);
            dos = new DataOutputStream(conn.getOutputStream());
            dos.writeBytes(twoHyphens + boundary + lineEnd);
            dos.writeBytes("Content-Disposition: form-data; name=\"uploadedfile\";filename=\""
                    + fname + "" + lineEnd);
            dos.writeBytes(lineEnd);
            buffer = new byte[8192];
            bytesRead = 0;
            while ((bytesRead = fileInputStream.read(buffer)) > 0) {                                 
                dos.write(buffer, 0, bytesRead);                    
            }           
            dos.writeBytes(lineEnd);
            dos.writeBytes(twoHyphens + boundary + twoHyphens + lineEnd);           
            Log.e("Debug", "File is written");
            fileInputStream.close();
            dos.flush();
            dos.close();

        } catch (MalformedURLException ex) {
            Log.e("Debug", "error: " + ex.getMessage(), ex);
        } catch (IOException ioe) {
            Log.e("Debug", "error: " + ioe.getMessage(), ioe);
        }       
        // ------------------ read the SERVER RESPONSE
        try {
            inStream = new DataInputStream(conn.getInputStream());
            String str;
            while ((str = inStream.readLine()) != null) {
                Log.e("Debug", "Server Response " + str);
            }
            inStream.close();

        } catch (IOException ioex) {
            Log.e("Debug", "error: " + ioex.getMessage(), ioex);
        }

questionAnswers(3)

yourAnswerToTheQuestion