AIWROKÈí¼þ΢²©ÒâÍ¼Ìø×ª´úÂë·ÖÏí
Õâ¶Î´úÂëµÄÖ÷Òª¹¦ÄÜÊdz¢ÊÔÔÚ°²×¿É豸ÉÏͨ¹ý΢²©Ó¦ÓõÄURL SchemeÌø×ªµ½Ö¸¶¨Î¢²©Óû§µÄ¸öÈËÒ³Ãæ¡£Èç¹ûÉ豸ÉÏûÓа²×°Î¢²©Ó¦Óã¬Ôò»áÌáʾÓû§²¢³¢ÊÔͨ¹ýÍøÒ³Á´½Ó´ò¿ª¸ÃÓû§µÄ΢²©¸öÈËÒ³Ãæ¡£ ¾ßÌå½âÊÍÈçÏ£º µ¼Èë°ü£ºÊ×ÏÈ£¬´úÂëͨ¹ýimportClass·½·¨µ¼ÈëÁËһЩ°²×¿¿ª·¢Öг£ÓõÄÀà¡£ÕâЩÀàµÄ¹¦ÄܰüÀ¨£º Intent£ºÓÃÓÚÔÚ²»Í¬×é¼þÖ®¼ä½øÐн»»¥£¬±ÈÈçÆô¶¯»î¶¯¡¢·¢Ë͹㲥µÈ¡£ Uri£º±íʾͳһ×ÊÔ´±êʶ·û£¬Í¨³£ÓÃÓÚÖ¸¶¨ÍøÂç×ÊÔ´µÄλÖᣠActivityNotFoundException£ºµ±³¢ÊÔÆô¶¯µÄ»î¶¯Î´ÕÒµ½Ê±Å׳öµÄÒì³£¡£ Toast£ºÓÃÓÚÏòÓû§ÏÔʾ¼ò¶ÌµÄÏûÏ¢Ìáʾ¡£ Handler ºÍ Looper£ºÓÃÓÚÔÚ²»Í¬Ïß³ÌÖ®¼ä´«µÝÏûÏ¢ºÍÖ´ÐÐÈÎÎñ£¬È·±£ÔÚÖ÷Ïß³ÌÉÏÏÔʾToastÏûÏ¢¡£ ÉèÖÃ΢²©Óû§Ò³ÃæµÄURL£ºÕâÀﶨÒåÁËÒ»¸ö±äÁ¿userId£¬ÄãÐèÒª½«ÆäÌæ»»ÎªÄãÏëÒª·ÃÎʵÄ΢²©Óû§µÄʵ¼ÊID¡£È»ºó£¬¹¹½¨ÁËÒ»¸ö×Ö·û´®url£¬¸Ã×Ö·û´®ÊÇ΢²©Ó¦ÓÃÖÐÓÃÓÚ´ò¿ªÖ¸¶¨Óû§¸öÈËÒ³ÃæµÄURL Scheme¡£ ʹÓð²×¿IntentÌø×ª£º´úÂë´´½¨ÁËÒ»¸öIntent¶ÔÏó£¬Ö¸¶¨¶¯×÷ACTION_VIEWºÍÊý¾ÝUri.parse(url)£¬¼´Òª´ò¿ªµÄ×ÊÔ´¡£Í¨¹ýµ÷ÓÃsetFlags(Intent.FLAG_ACTIVITY_NEW_TASK)£¬È·±£¿ÉÒÔÔÚеÄÈÎÎñÖÐÆô¶¯Õâ¸ö»î¶¯¡£½Ó×Å£¬Ê¹ÓÃcontext.startActivity(intent)À´³¢ÊÔÆô¶¯Õâ¸ö»î¶¯¡£ Òì³£´¦Àí£ºÈç¹ûÉ豸ÉÏûÓа²×°Î¢²©Ó¦Óã¬startActivity½«»áÅ׳öActivityNotFoundExceptionÒì³£¡£´úÂëʹÓÃtry...catch½á¹¹À´²¶»ñÕâ¸öÒì³££¬²¢Í¨¹ýifÓï¾ä¼ì²éÒì³£µÄÀàÐÍ¡£Èç¹ûȷʵÊÇÒòΪδÕÒµ½Î¢²©Ó¦ÓÃÅ׳öµÄÒì³££¬Ôò»áÏÔʾһ¸öToastÏûÏ¢¸æÖªÓû§£¬²¢¹¹½¨Ò»¸öÍøÒ³Á´½ÓwebUrl£¬ÊÔͼͨ¹ýä¯ÀÀÆ÷´ò¿ª¸Ã΢²©Óû§µÄ¸öÈËÒ³Ãæ¡£Èç¹ûÅ׳öµÄ²»ÊÇÔ¤ÆÚµÄÒì³££¬Ôò»áÏÔʾһ¸ö°üº¬´íÎóÐÅÏ¢µÄToastÏûÏ¢¡£ ×Ô¶¨ÒåshowToast·½·¨£ºshowToast·½·¨ÓÃÓÚÔÚÖ÷Ïß³ÌÉÏÏÔʾToastÏûÏ¢¡£ÓÉÓÚ°²×¿µÄUI²Ù×÷Ö»ÄÜÔÚÖ÷Ïß³ÌÖнøÐУ¬Òò´Ë´úÂëÖд´½¨ÁËÒ»¸öHandler¶ÔÏ󣬲¢Ê¹ÓÃLooper.getMainLooper()À´È·±£ÏûÏ¢ÔÚÖ÷Ïß³ÌÉϵõ½´¦Àí¡£È»ºó£¬Í¨¹ýµ÷ÓÃToast.makeText·½·¨´´½¨²¢ÏÔʾһ¸öToastÏûÏ¢¡£ Õâ¶Î´úÂëÊÊÓÃÓÚÔÚ°²×¿É豸ÉÏͨ¹ý ½Å±¾ÊµÏÖ´ò¿ªÎ¢²©Óû§¸öÈËÒ³ÃæµÄ¹¦ÄÜ£¬²¢ÇҾ߱¸Ò»¶¨µÄÈÝ´í´¦ÀíÄÜÁ¦£¬¿ÉÒÔ´¦ÀíÓû§Î´°²×°Î¢²©Ó¦ÓõÄÇé¿ö
- // µ¼Èë°ü
- importClass(Packages.android.content.Intent);
- importClass(Packages.android.net.Uri);
- importClass(Packages.android.content.ActivityNotFoundException);
- importClass(Packages.android.widget.Toast);
- importClass(Packages.android.os.Handler);
- importClass(Packages.android.os.Looper);
- // ÉèÖÃ΢²©Óû§Ò³ÃæµÄURL
- var userId = "΢²©Óû§ID"; // ÇëÌæ»»ÎªÊµ¼ÊÓû§ID
- var url = "sinaweibo://profile?user=" + userId;
- try {
- // ʹÓð²×¿intentÌø×ª
- var intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
- intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- context.startActivity(intent);
- } catch (e) {
- if (e.toString().indexOf("android.content.ActivityNotFoundException") !== -1) {
- // ÌáʾÓû§°²×°Î¢²©Ó¦ÓûòÌá¹©ÍøÒ³Á´½Ó
- showToast("δÕÒµ½Î¢²©Ó¦Óã¬ÇëÈ·±£ÒѰ²×°¡£");
- var webUrl = "https://weibo.com/u/" + userId; // Ìæ»»ÎªÊµ¼ÊµÄÓû§ÍøÒ³Á´½Ó
- var webIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(webUrl));
- webIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- context.startActivity(webIntent);
- } else {
- showToast("·¢Éú´íÎó: " + e.message);
- }
- }
- // ×Ô¶¨ÒåshowToast·½·¨
- function showToast(message) {
- new Handler(Looper.getMainLooper()).post(function() {
- Toast.makeText(context, message, Toast.LENGTH_SHORT).show();
- });
- }
¸´ÖÆ´úÂë
|