TUT Hướng dẫn sửa tự khởi động lại khi chọn mạng trên Prada LG-SU540

Thảo luận trong 'Dev Android' bắt đầu bởi hoangnova, 8 Tháng mười một 2013.

  1. hoangnova

    hoangnova Captain Staff Member

    Tham gia ngày:
    20 Tháng năm 2013
    Bài viết:
    6,738
    Đã được thích:
    15,887
    Anh em dùng Prada đều biết, khi chọn mạng vào Troaming để chọn và, tự dưng nó khởi động lại rất bực mình.
    Thực ra có rất nhiều cách, mình thì thường bỏ Troaming và sửa thẳng vào LGPhone, phần MobileNetworkSettings để thêm lựa chọn mạng ở ngay trong đó.
    Tuy nhiên ở bài viết này mình hướng dẫn giữ nguyên gốc và theo kiểu tut để các bạn nắm đc, hiểu tường tận nhằm mục đích hiểu biết hơn, có thể sửa được nhiều hơn những gì mình viết ở đây.

    Công cụ:

    dex2jar
    notepad ++ và plugin smali cho notepad++
    java decompiler
    apk tool

    Đầu tiên cần biết nó nằm trong Troaming (hoặc còn có tên là RoamingSettingsKr) đã, decompile nó ra xem sao.

    Lại search thử chữ "reboot" trong đám smali xem sao, thấy có nghi vấn hack nằm trong TRoamingNetwork

    Vậy giờ dex2jar và dùng java decompiler để đọc code java xem nó viết gì nhé


    1.jpg

    Thấy có 1 ResetThread gọi thằng com.lge.hiddenmenu.Reboot vậy chắc là nó reboot rồi.

    Giờ xem nó ở đâu nhé,
    Nhìn lên 1 chút thấy thằng ResetThread này chạy trong 1 class Hanlder nó handleMessage

    Hướng dẫn fix reboot khi chuyển mạng bởi hoangnova từ LGVIet.com

    Hiểu là với Message số 2 thì nó sẽ gọi cái đó ra và reboot máy. Vậy ta để nguyên cái ResetThread nhưng xóa toàn bộ nọi dung bên trong method run() đi vậy là khỏi chạy.
    Tuy nhiện, xóa đi rồi thì khi ta ấn đổi mạng nó vẫn ko chịu đổi, lý do do đâu vậy ?!

    Tìm tiếp lên trên thấy

    2.jpg
    onPreferenceTreeClick()

    Nó check là với

    SystemProperties.get("ro.product.model", "unknow") = LG-SU540 thì nó chạy vào

    Mã:
    this.mPhone.setModemStringItem(393225, Integer.toString(i), this.mHandler.obtainMessage(2));
    Ngược lại thì nó chạy vào

    Mã:
    this.mPhone.setPreferredNetworkType(this.mModemNetworkMode, this.mHandler.obtainMessage(2));
    Và gửi msg vào cái hanlder vừa nãy nói để reboot máy. Cái thread reboot thì ta vừa xử lúc này rồi, giờ còn cái này thôi.

    Nhìn qua thì biết this.mPhone.setModemStringItem chả có ý nghĩa gì liên quan tới việc chuyển mạng cả mà cái setPreferredNetworkType có vẻ giống hơn. :laugh:

    Vậy ta mở code smali ra, sửa mẹ cái LG-SU540 thành LG-SU5400 :D cho nó chạy vào setPreferredNetworkType.

    Compile lại rồi thay thế vào file cũ xem sao :D

    Chắc chắn là ko bị reboot khi chuyển mạng từ Troaming nữa đâu.

    Chúc thành công

    dokyson
     
    DUNGMOTO, f120ltn, dokyson and 4 others like this.
  2. se7venlove

    se7venlove Active Member

    Tham gia ngày:
    24 Tháng chín 2013
    Bài viết:
    143
    Đã được thích:
    63
    làm sao để chuyển mạng ko bi ngắt kết nối chứ chuyển ko khởi động lại thi dùng *#*#4636##*#* cũng đc
     
    dokyson thích bài này.
  3. nthung2112

    nthung2112 Active Member

    Tham gia ngày:
    15 Tháng sáu 2013
    Bài viết:
    495
    Đã được thích:
    864
    Hình như nó không bị reboot mà nó cũng chưa thay đổi chế độ mạng được đó anh.

    Bữa nay anh cao hứng hướng dẫn nhiều quá :D
     
    dokyson thích bài này.
  4. hoangnova

    hoangnova Captain Staff Member

    Tham gia ngày:
    20 Tháng năm 2013
    Bài viết:
    6,738
    Đã được thích:
    15,887
    Nó buộc phải ngắt kết nối, khi chuyển mạng bạn ạ.
    Thêm nữa các tút mình viết ko nặng về việc chức năng, mà mang ý nghĩa hướng dẫn để các bạn khác hiểu được cách thức để sửa và xem luồng xử lý. Vì vậy nếu bạn ko quan tâm thì mời bạn ra ngoài. ;) thân ái.
     
    dokyson thích bài này.
  5. hoangnova

    hoangnova Captain Staff Member

    Tham gia ngày:
    20 Tháng năm 2013
    Bài viết:
    6,738
    Đã được thích:
    15,887
    Thi thoảng nền làm vài việc tốt em ạ
    Nó sẽ thay đổi mạng nếu em dùng setPreferredNetworkType
     
    dokyson, Văn Chức and nthung2112 like this.
  6. Văn Chức

    Văn Chức Life Good

    Tham gia ngày:
    8 Tháng sáu 2013
    Bài viết:
    7,613
    Đã được thích:
    4,920
    Đổi được mà Hưng. Trong final của mình cũng làm theo cách này mà. ( a Hoàng bày cho đấy ):D
     
    dokyson thích bài này.
  7. nthung2112

    nthung2112 Active Member

    Tham gia ngày:
    15 Tháng sáu 2013
    Bài viết:
    495
    Đã được thích:
    864
    Bữa trước e không để ý cái này :D, làm cái toggle chuyển cho nó khoẻ hơn.

    Sau anh không làm cái tut hướng dẫn thêm toggle luôn anh, em thấy nhiều người muốn làm cái đó lắm.
     
    dokyson thích bài này.
  8. Văn Chức

    Văn Chức Life Good

    Tham gia ngày:
    8 Tháng sáu 2013
    Bài viết:
    7,613
    Đã được thích:
    4,920
    A viết TUT nữa đi.:D
     
    dokyson thích bài này.
  9. Văn Chức

    Văn Chức Life Good

    Tham gia ngày:
    8 Tháng sáu 2013
    Bài viết:
    7,613
    Đã được thích:
    4,920
    Kaka . Phải đấy .:D
     
    dokyson thích bài này.
  10. dokyson

    dokyson Active Member

    Tham gia ngày:
    17 Tháng tám 2013
    Bài viết:
    201
    Đã được thích:
    146
    Hehe cám ơn đại ca đã viết tut, tối về em vọc con LTE3 của em liền
     
  11. dokyson

    dokyson Active Member

    Tham gia ngày:
    17 Tháng tám 2013
    Bài viết:
    201
    Đã được thích:
    146
    Đối với các ROM 4.1.2 thì tổ hợp phím này bị khoá, bác sẽ làm cách nào :D
     
    Tiến Đạt thích bài này.
  12. Tiến Đạt

    Tiến Đạt Active Member

    Tham gia ngày:
    9 Tháng bảy 2013
    Bài viết:
    344
    Đã được thích:
    55
    Em cũng đang quan tâm vụ này.. vô *#*#4636##*#* vào phần mạnh nó báo ứng dụng này k hoặt động trên thiết bị này
     
  13. dokyson

    dokyson Active Member

    Tham gia ngày:
    17 Tháng tám 2013
    Bài viết:
    201
    Đã được thích:
    146
    Phần này nó cũng nằm trong file phone.apk khi nó check là máy dành cho Hàn Quốc sẽ không cho phép hiển thị, bác xem qua các tut của a Hoàng để biết cách chỉnh code smali, ví dụ như tut này và tut dưới đây ạ:
    http://lgviet.com/forum/threads/huong-dan-fix-giao-dien-ban-phim-goi-tieng-han-dialpad.6447
     
    Văn Chức and hoangnova like this.
  14. hchien83

    hchien83 Active Member

    Tham gia ngày:
    8 Tháng mười 2013
    Bài viết:
    220
    Đã được thích:
    65
    chào chủ topic, bạn cho hỏi cách fix lỗi: mình dùng VU 2 có up 1 số rom bị lỗi khi chọn ở mục màn hình khóa, chọn hiệu ứng Spreading ink thì tự tắt máy và lỗi ROM phải recovery lại.
    - Khắc phục lỗi này như thế nào? hoặc bỏ hiệu ứng Spreading ink cho khỏi phải chọn thì ntn?
    - Chắc các dòng LG giống nhau, Mong sự chỉ giáo!
     

Chia sẻ trang này