sách gpt4 ăn đã đi

Android gọi WeChat để đăng nhập, chia sẻ và thanh toán

In lại Tác giả: qq735679552 Thời gian cập nhật: 27-09-2022 22:32:09 30 4
mua khóa gpt4 giày nike

CFSDN nhấn mạnh vào giá trị tạo ra nguồn mở và chúng tôi cam kết xây dựng nền tảng chia sẻ tài nguyên để mọi nhân viên CNTT có thể tìm thấy thế giới tuyệt vời của bạn tại đây.

Bài viết trên blog CFSDN này Android gọi WeChat để đăng nhập, chia sẻ và thanh toán đã được tác giả sưu tầm và biên soạn. Nếu các bạn quan tâm đến bài viết này thì nhớ like nhé.

Có nhiều khó khăn khác nhau khi sử dụng WeChat SDK và cảm thấy rắc rối hơn nhiều so với việc gọi QQ SDK. Việc gọi lại quá rắc rối và việc gọi lại phải được thực hiện trong hoạt động dưới tên gói đã chỉ định, vì vậy tôi sẽ viết blog ở đây. Các bạn có nhu cầu này có thể rút kinh nghiệm sau này mình sẽ có nơi tìm thông tin nếu nó có ích cho các dự án khác.

1. Có ba bước để đăng nhập vào WeChat.

  1). Cho phép đăng nhập bằng WeChat 2). Lấy mã thông báo của người dùng theo mã đăng nhập được ủy quyền 3) Lấy thông tin người dùng theo mã thông báo 4). Nhận yêu cầu của WeChat và trả về giá trị nếu chương trình của bạn cần nhận các yêu cầu do WeChat gửi. , hoặc nhận yêu cầu gửi đến Kết quả phản hồi yêu cầu WeChat yêu cầu thực hiện 3 bước sau:

  a. Tạo một thư mục wxapi mới trong thư mục tương ứng với tên gói của bạn và thêm một lớp wxentryactivity trong thư mục wxapi, kế thừa từ hoạt động (ví dụ: tên gói ứng dụng là net.sourceforge.simcpux, .

        Lớp mới được thêm vào được hiển thị trong hình bên dưới).

       。

        Và thêm thuộc tính đã xuất trong tệp kê khai và đặt nó thành true, ví dụ:

      。

      b. Triển khai giao diện iwxapievenhandler. Yêu cầu do WeChat gửi sẽ được gọi trở lại phương thức onreq và kết quả phản hồi được gửi đến yêu cầu WeChat sẽ được gọi trở lại phương thức onresp c. đối tượng triển khai giao diện iwxapieventhandler cho giao diện iwxapi Handleintent, ví dụ như dưới đây.

         。

    Hướng dẫn đăng nhập trang web chính thức của WeChat: https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419317851&token=&lang=zh_cn.

    Hướng dẫn truy cập trang web chính thức của WeChat: https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=1417751808&token=&lang=zh_cn.

2. Để chia sẻ trên WeChat, chỉ cần gọi trực tiếp SDK. Các lớp gọi lại và gọi lại đăng nhập đều giống nhau. Đăng nhập hoặc chia sẻ có thể được phân biệt dựa trên loại baseresp.

3. Thanh toán WeChat.

    1).Gửi yêu cầu thanh toán.

    2) Nhận giá trị trả về của thanh toán WeChat (tương tự như giá trị trả về khi nhận đăng nhập và chia sẻ WeChat nên mình sẽ không viết các bước chi tiết).

        Địa chỉ tham khảo trang web chính thức: https://pay.weixin.qq.com/wiki/doc/api/app.php?chapter=8_5.

4. Dán mã để giải thích.

    Tôi đã gói gọn việc đăng nhập, chia sẻ và thanh toán WeChat thành một lớp. Bạn có thể tham khảo lớp này. Nó gói gọn 6 phương thức.

    1).Phương thức xây dựng: Khi khởi tạo đối tượng, hãy khởi tạo đối tượng WeChat và đăng ký app_id với WeChat.

    2).login() bắt đầu yêu cầu đăng nhập và lấy mã từ hoạt động giám sát đăng nhập WeChat.

    3).getaccesstoken(string code) Sau khi lấy được mã từ hoạt động giám sát, bạn có thể sử dụng phương pháp này để lấy mã thông báo truy cập WeChat.

    4).getweixinuserinfo(final weixintoken obj) Nhận thông tin người dùng WeChat Truyền vào một đối tượng weixintoken, đây là giá trị trả về của bước thứ ba.

    5).share (vòng tròn bạn bè boolean cuối cùng, videob video cuối cùng) Chia sẻ với bạn bè hoặc vòng kết nối bạn bè. Nếu bạn chia sẻ ảnh, chúng phải được nén nếu chúng quá lớn. Trang web chính thức của WeChat cho biết rằng hình ảnh không thể lớn.

         ở mức 32kb.

    6).iswxappinstalled() kiểm tra xem WeChat đã được cài đặt chưa.

    7).wxpay(hoạt động cơ sở cuối cùng, chuỗi order_id, chuỗi thanh toán) Thanh toán WeChat Một số thông số thanh toán WeChat của dự án của chúng tôi được lưu trên máy chủ, vì vậy tôi cũng đã yêu cầu thông số của riêng mình.

        Máy chủ, nếu bạn đặt cục bộ, chỉ cần sao chép mã trong chức năng gọi lại. Nhận mã trạng thái thanh toán trong hoạt động giám sát thanh toán WeChat.

        Để biết ý nghĩa tương ứng của thuộc tính lớp payreq, vui lòng tham khảo tài liệu chính thức của WeChat: https://pay.weixin.qq.com/wiki/doc/api/app.php?chapter=9_12.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
/**
  * Chia sẻ WeChat, đăng nhập, thanh toán
  * @author ansen
  * @create thời gian 2015-08-29
  */
công cộng lớp học weixintrình bày mở rộng người thuyết trình{
   công cộng tĩnh cuối cùng số nguyên kích thước hình ảnh= 32768 ; //Giới hạn kích thước hình ảnh chia sẻ WeChat
   công cộng tĩnh cuối cùng chuỗi app_id = "" ; // Nhận dạng duy nhất của ứng dụng sẽ có được sau khi ứng dụng được gửi để xem xét trên nền tảng mở WeChat.
   công cộng tĩnh cuối cùng chuỗi bí mật= "" ; // Bí mật ứng dụng khóa ứng dụng sẽ được lấy sau khi gửi đơn đăng ký để xem xét trên nền tảng mở WeChat.
   
   riêng tư iwxapi wxapi?
   riêng tư xem xem xem;
   riêng tư iusercontroller người dùngcontroller;
   
   @ghi đè
   công cộng iview nhận iview() {
     trở lại iview;
   }
   
   công cộng weixinpresenter(bối cảnhbối cảnh){
     nếu như (bối cảnh!= vô giá trị && bối cảnh trường hợp của iview)
       iview =(iview) ngữ cảnh;
     nếu như (wxapi== vô giá trị ){
       wxapi = wxapifactory.createwxapi(bối cảnh, app_id, ĐÚNG VẬY );
       wxapi.registerapp(id_ứng dụng);
     }
     nếu như ( vô giá trị ==người dùng điều khiển)
       usercontroller=controllerfactory.getusercontroller();
   }
   
   /**
    * Đăng nhập bằng WeChat (ba bước)
    * 1. Đăng nhập được ủy quyền của WeChat
    * 2. Lấy mã thông báo người dùng theo mã đăng nhập được ủy quyền
    * 3. Lấy thông tin người dùng dựa trên token
    * @param hoạt động
    */
   công cộng vô hiệu đăng nhập(){
     sendauth.req yêu cầu = mới sendauth.req();
     yêu cầu. phạm vi = "snsapi_userinfo" ;
     req.state = string.valueof(system.currenttimemillis());
     wxapi.sendreq(req);
   }
   
   /**
    * Nhận mã thông báo truy cập WeChat
    */
   công cộng vô hiệu getaccesstoken(chuỗi mã){
     nếu như (!usercontroller.islogin()){ //Sử dụng bên thứ ba để đăng nhập nếu không có thông tin đăng nhập
       usercontroller.getweixinaccesstoken(app_id, bí mật, mã, mới yêu cầu dữ liệu gọi lại(){
         @ghi đè
         công cộng vô hiệu datacallback(weixintoken obj){
           nếu như (đối tượng!= vô giá trị ){
             nếu như (obj.geterrcode()== 0 ){
               nếu như (mlog.debug)
                 iview.showtoast( "Mã định danh duy nhất của người dùng được ủy quyền:" +obj.getopenid());
               getweixinuserinfo(đối tượng);
             } khác {
               iview.showtoast(obj.geterrmsg());
             }
           } khác {
             
           }
         }
       });
     } khác { //Người dùng đã đăng nhập
       
     }
   }
   
   /**
    * Nhận thông tin người dùng WeChat
    */
   riêng tư vô hiệu lấy thông tin người dùng weixin( cuối cùng weixintoken obj){
     usercontroller.getweixinuserinfo(obj.getaccess_token(), obj.getopenid(), mới requestdatacallback() {
       @ghi đè
       công cộng vô hiệu datacallback(registerb registerb){
         registerb.setaccess_token(obj.getaccess_token());
         registerb.settoken_expires_at(obj.getexpires_in());
         nếu như (registerb.geterrcode()== 0 ){
           registerb.setthird_type_name(hằng số.wei_xin);
           thirdlogin(registerb);
         } khác {
           iview.showtoast(registerb.geterrmsg());
         }
       }
     });
   }
   
   /**
    * Gọi đến máy chủ của chúng tôi để đăng nhập
    * @param registerb
    */
   riêng tư vô hiệu đăng nhập thứ ba(registerb registerb){
     usercontroller.thirdauth(registerb, mới yêu cầu dữ liệu gọi lại(){
       @ghi đè
       công cộng vô hiệu datacallback(người dùng){
         nếu như (checkcallbackdata(người dùng, ĐÚNG VẬY )){
           nếu như (người dùng.geterror()==người dùng.errornone){
             iview.showtoast(r.string.login_success);
             getappcontroller().sendloginchangeintent();
             usercontroller.saveloginuser(người dùng, fileutil.getfilepath());
             ((iloginview)iview).tomain();
           } khác {
             iview.showtoast(người dùng.geterror_reason());
           }
         }
       }
     });
   }
   
   /**
    * Chia sẻ trên WeChat
    * @paramfriendcircle Có nên chia sẻ với vòng kết nối bạn bè không
    */
   công cộng vô hiệu chia sẻ( cuối cùng Boolean vòng tròn bạn bè, cuối cùng videob videob){
     mới tải picthread(videob.getcover_url(), mới trình xử lý(){
       @ghi đè
       công cộng vô hiệu handlemessage(tin nhắn msg) {
         byte [] byte=( byte []) tin nhắn.obj;
         nếu như (byte.length>kích thước hình ảnh){
           iview.showtoast(r.string.image_no_big);
           trở lại ;
         }
         hệ thống.out.println( "Độ dài hình ảnh:" +byte.chiều dài);
         wxvideoobject videoobject = mới wxvideoobject(); //Loại video
         videoobject.videourl = videob.getshare_url() + hằng số.wei_xin + "&chia_sẻ_từ=" +com.kaka.utils.constants.android; // Url phát lại video
         wxmediamessage wxmessage = mới wxmediamessage(đối tượng video);
         wxmessage.title = videob.getcontent();
         wxmessage.thumbdata = byte;
         sendmessagetowx.req yêu cầu = mới gửi tin nhắn đến owx.req();
         // Trường giao dịch được sử dụng để xác định duy nhất một yêu cầu
         req.transaction = string.valueof(videob.getid() + system.currenttimemillis());
         yêu cầu.message = wxmessage;
         req.scene = friendscircle ? sendmessagetowx.req.wxscenetimeline : sendmessagetowx.req.wxscenesession;
         wxapi.sendreq(req);
       }
     }).bắt đầu();
   }
   riêng tư lớp học tải picthread mở rộng chủ đề{
     riêng tư chuỗi url;
     riêng tư giao dịch giao dịch;
     công cộng loadpicthread(chuỗi url,trình xử lý trình xử lý){
       cái này .url=url;
       cái này .người chia bài=người chia bài;
     }
     @ghi đè
     công cộng vô hiệu chạy(){
       thử {
         url ảnh = mới url(url); 
         httpurlconnection conn = (httpurlconnection)picurl.openconnection(); // Nhận kết nối 
         conn.setconnecttimeout( 6000 ); //Đặt thời gian chờ 
         conn.setdoinput( ĐÚNG VẬY ); 
         conn.setusecaches( SAI ); //Không lưu vào bộ nhớ đệm 
         conn.connect();
         bitmap bmp=bitmapfactory.decodestream(conn.getinputstream());         
         bytearrayoutputstream đầu ra = mới luồng đầu ra bytearray();         
         bmp.compress(bitmap.compressformat.jpeg, 100 , đầu ra);
         số nguyên tùy chọn = 100 ;
         trong khi (đầu ra.tobytearray().length > image_size && tùy chọn != 10 ) { 
           đầu ra. thiết lập lại(); // Xóa bao
           bmp.compress(bitmap.compressformat.jpeg, tùy chọn, đầu ra); //Nén options% tại đây và lưu trữ dữ liệu đã nén trong baos 
           tùy chọn -= 10 ;
         }        
         bmp. tái chế();
         byte [] kết quả = đầu ra.tobytearray();
         đầu ra. đóng();
         
         tin nhắn message=handler.obtainmessage();
         message.obj=kết quả;
         message.sendtotarget();
       } nắm lấy (ngoại lệ e) {
         e.printstacktrace();
       }
     }
   }
   //Kiểm tra xem WeChat đã được cài đặt chưa
   công cộng Boolean iswxappinstalled(){
     trở lại wxapi.iswxappinstalled();
   }
   công cộng vô hiệu thanh toán wx cuối cùng hoạt động cơ sở, chuỗi order_id, chuỗi paytype){
     hoạt động.hiển thịtiến trình( "" );
     controllerfactory.getwalletscontroller().getpayments(order_id, paytype, mới requestdatacallback() {
       @ghi đè
       công cộng vô hiệu datacallback(thanh toánsp obj) {
         nếu như (kiểm tra dữ liệu gọi lại(obj, ĐÚNG VẬY )){
           nếu như (obj.geterror()==obj.errornone){
             yêu cầu trả lương yêu cầu = mới yêu cầu trả lương(); //Sẽ được sửa đổi
 
             req.appid = obj.getappid();
             req.noncestr=obj.getnoncestr();
             req.packagevalue=obj.getpackage_value();
             req.sign=obj.getsign();
             req.partnerid=obj.getpartnerid();
             req.prepayid=obj.getprepayid();
             req.timestamp=obj.gettimestamp();
             
             wxapi.registerapp(obj.getappid());
             wxapi.sendreq(req);
             
             mlog.i( "Ansen" , "Bắt đầu thanh toán WeChat..." );
             iview.showtoast( "Bắt đầu thanh toán WeChat..." );
           }
         } khác {
           iview.showtoast(obj.geterror_reason());
         }
         hoạt động.ẩntiếntrình();
       }
     });
   }
}

Đăng nhập WeChat và nhận yêu cầu chia sẻ cũng như trả lại giá trị. Tôi đăng nhập vào đây. Trạng thái chia sẻ được phát và sau đó kết thúc hoạt động hiện tại.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
/**
  * Hoạt động gọi lại chia sẻ đăng nhập WeChat
  * @author ansen
  * @create thời gian 2015-05-25
  */
công cộng lớp học wxentryhoạt động mở rộng hoạt động thực hiện iwxapieventhandler{
   riêng tư iwxapi wxapi?
   
   @ghi đè
   được bảo vệ vô hiệu oncreate(gói trạng thái đã lưu) {
     siêu .oncreate(trạng thái đã lưu);
     nếu như (mlog.debug)
       hệ thống.out.println( "wxentryactivity đang tạo" );
     
     wxapi = wxapifactory.createwxapi( cái này ,weixintrình bày.app_id, ĐÚNG VẬY );
     wxapi.registerapp(weixinpresenter.app_id);
     
     wxapi.handleintent(getintent(), cái này );
   }
   @ghi đè
   được bảo vệ vô hiệu onnewintent(ý định ý định){
     siêu .onwintent(ý định);
     wxapi.handleintent(getintent(), cái này );
     nếu như (mlog.debug)
       hệ thống.out.println( "wxentryactivity trên newintent" );
   }
   @ghi đè
   công cộng vô hiệu onreq(basereq arg0) {
     nếu như (mlog.debug)
       hệ thống.out.println( "wxentryactivity yêu cầu:" +arg0);
     nếu như (mlog.debug)
       toast.maketext( cái này , "chạy phương thức onreq" , 0 ).trình diễn();
  
   @ghi đè
   công cộng vô hiệu onresp(baseresp resp){
     mlog.d( "Ansen" , "phản ứng lại...." );
     nếu như (mlog.debug)
       toast.maketext( cái này , "chạy phương thức onresp" , 0 ).trình diễn();
     nếu như (tương ứng với gettype()==constantsapi.command_sendmessage_to_wx){ //chia sẻ
       công tắc (tương ứng với mã lỗi){
       trường hợp baseresp.errcode.err_ok:
           nếu như (mlog.debug)
             toast.maketext(wxentryactivity. cái này , "Chia sẻ thành công!" , toast.length_short).show();
         phá vỡ ;
       trường hợp baseresp.errcode.err_user_cancel:
// toast.maketext(wxentryactivity.this, "Đã hủy chia sẻ!", toast.length_short).show();
         phá vỡ ;
       trường hợp baseresp.errcode.err_auth_denied:
         
         phá vỡ ;
       }
       ý định ý định = mới ý định();
       ý định. thiết lập hành động (apidefineconst.broadcast_action_weixin_share);
         trình quản lý phát sóng cục bộ lbm = trình quản lý phát sóng cục bộ.getinstance( cái này );
         lbm.sendbroadcast(ý định);
     } khác nếu như (tương ứng với gettype()==constantsapi.command_sendauth){ // Đăng nhập để gửi phát sóng
         sendauth.resp authresp = (phản hồi) phản hồi;
       chuỗi mã = ​​authresp.code;
       ý định ý định = mới ý định();
       ý định. thiết lập hành động (apidefineconst.broadcast_action_weixin_token);
       ý định.putextra( "mã lỗi" , authresp.errcode);
       nếu như (authresp.errcode == baseresp.errcode.err_ok){ //Người dùng đồng ý
           ý định.putextra( "mã số" , mã số);
       }  
         nếu như (mlog.debug)
           toast.maketext( cái này , "wxentryactivity gửi thông báo đăng nhập!!!" , 0 ).trình diễn();
         nếu như (android.os.build.version.sdk_int >= 12 ) {
            ý định.setflags( 32 ); // Các phiên bản sau 3.1 cần đặt Intent.flag_include_stopped_packages
         }
         trình quản lý phát sóng cục bộ lbm = trình quản lý phát sóng cục bộ.getinstance( cái này );
         lbm.sendbroadcast(ý định);
     }
     hoàn thành();
   }
}

Yêu cầu thanh toán WeChat và nhận giá trị trả về Thanh toán WeChat cũng gửi các chương trình phát sóng. Nếu bạn vẫn cần xác định xem thanh toán thành công hay thất bại, bạn có thể chuyển các tham số trong mục đích phát sóng.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
/**
  * Hoạt động gọi lại thanh toán WeChat
  * @author ansen
  * @create thời gian 2015-08-29
  */
công cộng lớp học wxpayentryhoạt động mở rộng hoạt động thực hiện iwxapieventhandler{
   riêng tư iwxapi wxapi?
   
   @ghi đè
   được bảo vệ vô hiệu oncreate(gói trạng thái đã lưu) {
     siêu .oncreate(trạng thái đã lưu);
     wxapi = wxapifactory.createwxapi( cái này , weixin Presenter.app_id);
     wxapi.handleintent(getintent(), cái này );
   }
   
   @ghi đè
   được bảo vệ vô hiệu onnewintent(ý định ý định){
     siêu .onwintent(ý định);
     setintent(ý định);
     wxapi.handleintent(ý định, cái này );
   }
   
   @ghi đè
   công cộng vô hiệu onreq(basereq arg0) {
   }
 
   @ghi đè
   công cộng vô hiệu onresp(baseresp resp) {
     mlog.i( "Gọi lại thanh toán WeChat..." , "ansen onresp" );
     nếu như (resp.gettype() == constantsapi.command_pay_by_wx){ // Gọi lại thanh toán WeChat
       nếu như (resp.errcode==baseresp.errcode.err_ok){ // Thanh toán WeChat thành công
         ý định ý định = mới ý định();
         ý định. thiết lập hành động (apidefineconst.broadcast_action_weixin_pay);
           trình quản lý phát sóng cục bộ lbm = trình quản lý phát sóng cục bộ.getinstance( cái này );
           lbm.sendbroadcast(ý định);
         //thành công
// toast.maketext(này, r.string.wxpay_success, 0).show();
       } khác {
// toast.maketext(này, r.string.wxpay_success, 0).show();
       }
     }
     hoàn thành();
   }
   
}

Một điểm cần nhấn mạnh là bạn phải chú ý đến tên gói và tên lớp của yêu cầu và giá trị trả về nhận được từ WeChat. Tên gói là tên gói của ứng dụng + ".wxapi". tên do WeChat chỉ định và hai hoạt động phải có trong Đăng ký trong androidmanifest.xml và tải lên ảnh chụp màn hình tên gói và tên lớp của ứng dụng tôi đã tạo.

  。

Cách gọi đăng nhập WeChat trong hoạt động.

1) Đăng nhập vào lớp nghe phát sóng nội bộ. Nếu nhận được chương trình phát sóng, hãy nhận mã thông báo WeChat.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
riêng tư lớp học wxentryreceiver mở rộng máy thu phát sóng {
   @ghi đè
   công cộng vô hiệu onreceive(bối cảnh bối cảnh, ý định ý định){
     mlog.i( "wxentryreceiver" , "Nhận thông báo đăng nhập WeChat" );
     nếu như (mlog.debug)
       bánh mì nướng "Nhận thông báo đăng nhập WeChat" );
     nếu như (intent.getaction().equals(apidefineconst.broadcast_action_weixin_token)){
       số nguyên errcode = ý định.getextras().getint( "mã lỗi" );
       nếu như (mlog.debug)
         hệ thống.out.println( "Nhận mã lỗi:" +mã lỗi);
       nếu như (errcode==baseresp.errcode.err_user_cancel||errcode==baseresp.errcode.err_auth_denied){
         yêu cầu dữ liệu kết thúc();
       } khác {
         chuỗi mã = ​​intent.getextras().getstring( "mã số" );
         xintestpresenter.getaccesstoken(mã);
       }
     }
   }
}

2). Xác định các biến thành viên.

?
1
riêng tư wxentryreceiver wxentryreceiver= vô giá trị ;

3). Đăng ký phát sóng trong oncreate.

?
1
2
3
4
5
6
// Phát sóng đăng nhập WeChat
wxentryreceiver= mới người nhận wxentry();
trình quản lý phát sóng cục bộ lbm = trình quản lý phát sóng cục bộ.getinstance( cái này );
bộ lọc ý định = mới bộ lọc ý định();
bộ lọc.addaction(apidefineconst.broadcast_action_weixin_token);
lbm.registerreceiver(wxentryreceiver,bộ lọc);

4). Gọi WeChat để đăng nhập.

?
1
2
weixinpresenter xintestpresenter= mới weixintrình bày( cái này );
xintestpresenter. đăng nhập();

Tôi sẽ không đăng mã gọi chia sẻ WeChat và thanh toán WeChat trong hoạt động. Blog này chỉ mang tính chất tham khảo cho mọi người. Nếu bạn gặp vấn đề, bạn nên đọc các tài liệu chính thức càng sớm càng tốt.

Hãy để tôi nói về những vấn đề tôi gặp phải khi đăng nhập WeChat.

1. Tên gói hoạt động và tên lớp của lệnh gọi lại để đăng nhập, chia sẻ và thanh toán WeChat phải được viết đúng theo yêu cầu.

2. Hoạt động nhận được lệnh gọi lại phải được đăng ký trong androidmanifest.xml.

3. Có hai hằng số trong weixin Presenter, app_id và secret, chỉ khả dụng khi bạn đăng ký WeChat. Khi sao chép mã, bạn cần gán giá trị cho hai hằng số này.

4. Bạn có thể cần một số quyền để truy cập mạng. Hãy nhớ thêm quyền trong androidmanifest.xml.

5. Gọi WeChat để đăng nhập, chia sẻ và thanh toán Gói cài đặt của bạn phải được ký và thông tin chữ ký phải nhất quán với thông tin chữ ký khi bạn đăng ký trên trang web chính thức của WeChat.

6. WeChat không hỗ trợ dịch vụ khách hàng. . . . . Nếu có sự cố xảy ra, hãy kiểm tra bản demo chính thức hoặc API chính thức.

7. WeChat SDK được nâng cấp thường xuyên. Nếu bạn có phiên bản mới nhất khi phát triển, hãy sử dụng phiên bản mới nhất.....

Cuối cùng, bài viết này về việc Android gọi đăng nhập, chia sẻ và thanh toán WeChat kết thúc tại đây. Nếu bạn muốn biết thêm về việc Android gọi đăng nhập, chia sẻ và thanh toán WeChat, vui lòng tìm kiếm bài viết CFSDN hoặc tiếp tục duyệt các bài viết liên quan. blog của tôi trong tương lai! .

30 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress