zoukankan      html  css  js  c++  java
  • Unity调用Android的API实现分享功能<转>

    问题:

    如何在unity3d的游戏中实现分享功能,如图

    思路:

    1、分享功能的实现方式有多种,较方便快捷的一种是直接调用androidAPI来调出系统的分享界面

    2unity3d里面调用androidAPI需要为此编写一个android的插件

    3、在插件(androidjar包)里面调用Intent类来实现Activity间的消息传递,换出系统的分享控制台

    代码:

    Android插件代码

    1 package com.XXX.XXX;

    2

    3 import android.content.Intent;

    4 import android.os.Bundle;

    5 import com.unity3d.player.UnityPlayerActivity;

    6

    7 public class MainActivity extends UnityPlayerActivity {

    8

    9 @Override

    10 protected void onCreate(Bundle savedInstanceState) {

    11 super.onCreate(savedInstanceState);

    12

    13 }

    14

    15 public void onPress(String msg)

    16 {

    17 Intent shareInt = new Intent(Intent.ACTION_SEND);

    18 shareInt.setType("text/plain");

    19 shareInt.putExtra(Intent.EXTRA_SUBJECT, "选择分享方式");

    20 shareInt.putExtra(Intent.EXTRA_TEXT, msg); // 要分享的内容

    21 shareInt.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

    22

    23 startActivity(Intent.createChooser(shareInt, getTitle()));

    24 }

    25 }

    unity3d调用代码

    1 void OnGUI()

    2 {

    3 if (GUILayout.Button("Send WeChat", GUILayout.Height(200)))

    4 {

    5 AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");

    6 AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");

    7 jo.Call("onPress", new object[] {"这游戏真好玩,快来下载吧!"});

    8 }

    9 }

  • 相关阅读:
    夏季适合IT程序员的养生小妙招
    夏季适合IT程序员的养生小妙招
    JS实现分钟数和时间小时 格式的转换
    Linux入门基础(1)
    Linux入门基础(1)
    Linux入门基础(1)
    常见通信协议HTTP、TCP、UDP的简单介绍
    BMP彩色转成黑色二值图
    《暗时间》笔记
    L53-Maximum-Subarray
  • 原文地址:https://www.cnblogs.com/Yellow0-0River/p/4281917.html
Copyright © 2011-2022 走看看