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 = "alipay://user/profile/" + 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://www.alipay.com/profile/" + 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();
});
}
Õâ¶Î´úÂëÖ÷ÒªÓÃÓÚÔÚ°²×¿É豸ÉÏͨ¹ýÖ§¸¶±¦µÄÓû§ID´ò¿ªÖ§¸¶±¦Óû§Ò³Ã棬Èç¹ûÉ豸ÖÐûÓа²×°Ö§¸¶±¦Ó¦Óã¬ÔòÌáʾÓû§²¢³¢ÊÔͨ¹ýÍøÒ³Á´½Ó´ò¿ªÓû§µÄÖ§¸¶±¦Ò³Ãæ¡£ÏÂÃæÖðÐнâÊÍ´úÂ룺
// µ¼Èë°ü
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);
ÕâÎåÐдúÂëµ¼ÈëÁ˰²×¿¿ª·¢ÖÐÐèÒªÓõ½µÄ¼¸¸öºËÐÄÀࣺIntentÓÃÓÚÔÚÓ¦ÓÃÖ®¼ä½øÐн»»¥£¬UriÓÃÓÚ½âÎöͳһ×ÊÔ´±êʶ·û£¬ActivityNotFoundExceptionÓÃÓÚ´¦ÀíÕÒ²»µ½¶ÔÓ¦»î¶¯µÄÇé¿ö£¬ToastÓÃÓÚÏÔʾ¼ò¶ÌµÄÏûÏ¢Ìáʾ£¬HandlerºÍLooperÓÃÓÚÔÚ·ÇUIÏß³ÌÖиüÐÂUI¡£
// ÉèÖÃÖ§¸¶±¦Óû§Ò³ÃæµÄURL
var userId = "Ö§¸¶±¦Óû§ID"; // ÇëÌæ»»ÎªÊµ¼ÊÓû§ID
var url = "alipay://user/profile/" + userId;
ÕâÁ½ÐдúÂ붨ÒåÁËÒ»¸ö±äÁ¿userId£¬ÓÃÓÚ´æ´¢Ö§¸¶±¦Óû§µÄID£¬²¢½«ÆäǶÈëµ½Ö§¸¶±¦Óû§Ò³ÃæµÄURLÖС£×¢Ò⣬ÐèÒª½«"Ö§¸¶±¦Óû§ID"Ìæ»»ÎªÕæÊµµÄÖ§¸¶±¦Óû§ID¡£
try {
// ʹÓð²×¿intentÌø×ª
var intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
} catch (e) {
Õâ¶Î´úÂë³¢ÊÔͨ¹ýIntent¶ÔÏóÀ´´ò¿ªÖ¸¶¨µÄURL¡£Èç¹ûÖ§¸¶±¦Ó¦ÓÃÒѰ²×°£¬½«Ö±½ÓÔÚÖ§¸¶±¦Ó¦ÓÃÖдò¿ªÓû§µÄ¸öÈË×ÊÁÏÒ³Ãæ¡£Intent.ACTION_VIEW±íʾҪ²é¿´Êý¾Ý£¬Uri.parse(url)½«×Ö·û´®URL½âÎöΪUri¶ÔÏó¡£setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)ÉèÖÃÒ»¸öеÄÈÎÎñ±êÖ¾£¬ÕâÒâζ×ÅÕâ¸öIntentÆô¶¯µÄActivityÊÇÔÚÒ»¸öеÄÈÎÎñÕ»ÖÐÆô¶¯¡£context.startActivity(intent)ÔòÓÃÓÚÆô¶¯Õâ¸öIntent¡£
if (e.toString().indexOf("android.content.ActivityNotFoundException") !== -1) {
// ÌáʾÓû§°²×°Ö§¸¶±¦Ó¦ÓûòÌá¹©ÍøÒ³Á´½Ó
showToast("δÕÒµ½Ö§¸¶±¦Ó¦Óã¬ÇëÈ·±£ÒѰ²×°¡£");
var webUrl = "https://www.alipay.com/profile/" + 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);
}
Èç¹û³¢ÊÔÌø×ªÊ§°Ü£¬²¶»ñÒì³£²¢ÅжÏÒì³£ÀàÐÍ¡£Èç¹ûÒì³£ÊÇActivityNotFoundException£¬Ôò±íʾÉ豸ÖÐδ°²×°Ö§¸¶±¦Ó¦Ó㬴Ëʱ»áµ÷ÓÃshowToastº¯ÊýÏÔʾÌáʾÐÅÏ¢£¬²¢³¢ÊÔ´ò¿ªÖ§¸¶±¦µÄÍøÒ³°æ±¾¡£·´Ö®£¬Èç¹ûÒì³£ÊÇÆäËûÀàÐÍ£¬Ôò»áÌáʾÓû§¾ßÌåµÄ´íÎóÐÅÏ¢¡£
// ×Ô¶¨ÒåshowToast·½·¨
function showToast(message) {
new Handler(Looper.getMainLooper()).post(function() {
Toast.makeText(context, message, Toast.LENGTH_SHORT).show();
});
}
Õⲿ·Ö´úÂ붨ÒåÁËÒ»¸öÃûΪshowToastµÄº¯Êý£¬ÓÃÓÚÏÔʾÏûÏ¢Ìáʾ¡£ÓÉÓÚ°²×¿µÄUI²Ù×÷ÐèÒªÔÚÖ÷Ïß³ÌÖнøÐУ¬ÕâÀïʹÓÃÁËHandlerÅäºÏLooper.getMainLooper()À´È·±£ÏûÏ¢ÌáʾÄÜÔÚUIÏß³ÌÖÐÕýÈ·ÏÔʾ¡£Toast.makeText(context, message, Toast.LENGTH_SHORT).show()ÓÃÓÚ´´½¨Ò»¸ö¼ò¶ÌÏÔʾµÄToastÏûÏ¢£¬²¢ÔÚÆÁÄ»ÉÏÏÔʾ³öÀ´¡£