zoukankan      html  css  js  c++  java
  • Open Phone, SMS, Email, Skype and Browser apps of Android in Unity3d

    最近项目需要使用Android的一些基本功能,写插件各种悲剧,google了一下,如获至宝。Nice !

    string url = String.Format("tel:{0}",phoneNumber);
    
    string url = String.Format("sms:{0}?body={1}", numbers, message);
    
    
    string url = String.Format("mailto:{0}?subject={1}&body={2}",email_address,subject,body);
    
    
    Application.OpenURL(url); 

    相关引用:

    http://www.makebetterthings.com/iphone/open-phone-sms-email-map-and-browser-apps-in-iphone-sdk/


    Here is how you can open default Phone app, SMS app, Email app, Maps app and browser app with openURL.

    Open default Phone app in iPhone:
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://8004664411"]];
    
    Open default SMS app in iPhone:
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"sms://466453"]];
    
    Open default Email app in iPhone:
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mailto://devprograms@apple.com"]];

           这里注意几点,如果写Android min sdk 如果低的话他会默认继承ActionBarActivity类 ,而不是Activity。

       同时会产生一个 appcompont工程来让低版本的库来兼容运行actionbar特性。

       如果unity3d 的 子Activity 继承ActionBarActivity而不是Activity会无法启动。

    // 此外 最好min sdk 是4.0 ,max sdk 也是4.0

    // 因为 minsdk 低于4.0,max sdk 高于 4.0 会丢失一个主题,需要自己 手动导入

    2014-9-4 Add Lauch Skype

    应用除了tel  进行联系之外 ,还需要 Lauch Skype

    googl之

    SkyPe官网 有这么一段代码

    http://msdn.microsoft.com/en-us/library/office/dn745882(v=office.15).aspx#video

    http://msdn.microsoft.com/en-us/library/office/dn745884(v=office.15).aspx

    /**
     * Initiate the actions encoded in the specified URI.
     */
    public void initiateSkypeUri(Context myContext, String mySkypeUri) {
    
      // Make sure the Skype for Android client is installed.
      if (!isSkypeClientInstalled(myContext)) {
        goToMarket(myContext);
        return;
      }
    
      // Create the Intent from our Skype URI.
      Uri skypeUri = Uri.parse(mySkypeUri);
      Intent myIntent = new Intent(Intent.ACTION_VIEW, skypeUri);
    
      // Restrict the Intent to being handled by the Skype for Android client only.
      myIntent.setComponent(new ComponentName("com.skype.raider", "com.skype.raider.Main"));
      myIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    
      // Initiate the Intent. It should never fail because you've already established the
      // presence of its handler (although there is an extremely minute window where that
      // handler can go away).
      myContext.startActivity(myIntent);
    
      return;
    }
    

    实际应用了一下,发现启动不了,也不知道为什么,但是内存是启动了,只是focus没有转到skype上面。

    悲剧,继续google,

    http://stackoverflow.com/questions/10132556/how-to-start-a-skype-call-from-an-android-app

    http://stackoverflow.com/questions/6414494/launch-skype-from-an-app-programmatically-pass-number-android/8844526#8844526

    发现很多办法都大同小异,基本上都是官网的盘版。

    偶然之下试了下这个办法,成功启动

    http://blog.csdn.net/fhy_2008/article/details/6694219

    PackageManager packageManager = getPackageManager();
    Intent skype = packageManager.getLaunchIntentForPackage("com.skype.raider");
    skype.setData(Uri.parse("tel:65465446"));//Uri.parse("skype:" + UserName + "?call")
    startActivity(skype);
  • 相关阅读:
    解决 vs2010 安装过程 提示序列号非法问题
    下载文件(弹出迅雷来下载)
    UrlRewriter URL重写
    C#加密算法汇总
    js 平时经常用的
    c# 解析txt 统计
    漂亮的后台 模板
    无限级分类 父节点 子节点
    FlyTreeView for asp.net (4.4.1.2最新破解版)
    jQueryJSON 无刷新三级联动
  • 原文地址:https://www.cnblogs.com/chongxin/p/3939406.html
Copyright © 2011-2022 走看看