Created
November 12, 2013 14:26
-
-
Save taesiri/7431660 to your computer and use it in GitHub Desktop.
Sample Unity3D Plugin for Sending SMS in Android. (JAVA plugin)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<manifest xmlns:android="http://schemas.android.com/apk/res/android" | |
package="com.BrainDump.PluginTester" | |
android:versionCode="2" | |
android:versionName="1.0"> | |
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="15" /> | |
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> | |
<uses-permission android:name="android.permission.STORAGE" /> | |
<uses-permission android:name="android.permission.INTERNET" /> | |
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> | |
<uses-permission android:name="android.permission.SEND_SMS" /> | |
<uses-permission android:name="android.permission.SMS_RECEIVED" /> | |
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> | |
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> | |
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> | |
<application android:name="com.BrainDump.PluginTester.Brain" android:icon="@drawable/app_icon" android:label="@string/app_name"> | |
<activity android:name=".BrainDumpActivity" android:label="@string/app_name" android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen"> | |
<intent-filter> | |
<action android:name="android.intent.action.MAIN" /> | |
<category android:name="android.intent.category.LAUNCHER" /> | |
</intent-filter> | |
</activity> | |
</application> | |
</manifest> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.BrainDump.PluginTester; | |
import android.app.Application; | |
public class Brain extends Application { | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.BrainDump.PluginTester; | |
import android.os.Bundle; | |
import android.telephony.SmsManager; | |
import android.util.Log; | |
import android.widget.Toast; | |
import com.unity3d.player.UnityPlayerActivity; | |
public class BrainDumpActivity extends UnityPlayerActivity{ | |
@Override | |
protected void onCreate(Bundle icicle){ | |
super.onCreate(icicle); | |
} | |
@Override | |
protected void onResume(){ | |
super.onResume(); | |
} | |
@Override | |
protected void onStop(){ | |
super.onStop(); | |
} | |
@Override | |
protected void onPause(){ | |
super.onPause(); | |
} | |
public void showMessage(final String message) { | |
this.runOnUiThread(new Runnable() { | |
public void run() { | |
Toast.makeText(BrainDumpActivity.this, message, Toast.LENGTH_SHORT).show(); | |
} | |
}); | |
} | |
public void sendSMSMessage(final String phoneNumber, final String messageBody){ | |
this.runOnUiThread(new Runnable() { | |
public void run(){ | |
try | |
{ | |
SmsManager smsManager = SmsManager.getDefault(); | |
smsManager.sendTextMessage(phoneNumber, null, messageBody, null, null); | |
showMessage("Message Sent! Destination :" + phoneNumber); | |
} | |
catch(Exception exp){ | |
showMessage("Error has been Occurred!\n" + exp.getMessage()); | |
showMessage("Cannot send SMS to " + phoneNumber); | |
Log.d("Unity", exp.getStackTrace().toString()); | |
} | |
} | |
}); | |
} | |
public void tip(){ | |
Log.d("Unity", "Tip Begin Call!"); | |
showMessage("my text"); | |
Log.d("Unity", "Tip End Call!"); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using UnityEngine; | |
namespace Assets.Scripts.BrainDump | |
{ | |
public class PlugInCaller : MonoBehaviour | |
{ | |
private AndroidJavaClass _activityClass; | |
private AndroidJavaObject _activityObject; | |
private string _messageBody = "Sent from Unity with LOVE"; | |
private string _phoneNumber = "000000000000"; | |
private void OnGUI() | |
{ | |
var mobileStyle = new GUIStyle {fontSize = 20, normal = {textColor = Color.white}}; | |
if (GUILayout.Button("Simple Toast", GUILayout.Width(500), GUILayout.Height(50))) | |
{ | |
_activityClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); | |
_activityObject = _activityClass.GetStatic<AndroidJavaObject>("currentActivity"); | |
_activityObject.Call("showMessage", "A direct Message from C# with love!"); | |
} | |
GUILayout.BeginHorizontal(); | |
GUILayout.Label("Phone Number: ", mobileStyle); | |
_phoneNumber = GUILayout.TextField(_phoneNumber, mobileStyle, GUILayout.Height(50)); | |
GUILayout.EndHorizontal(); | |
GUILayout.BeginHorizontal(); | |
GUILayout.Label("Message: ", mobileStyle); | |
_messageBody = GUILayout.TextArea(_messageBody, mobileStyle, GUILayout.Height(150)); | |
GUILayout.EndHorizontal(); | |
if (GUILayout.Button("Send SMS", GUILayout.Width(500), GUILayout.Height(50))) | |
{ | |
_activityClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); | |
_activityObject = _activityClass.GetStatic<AndroidJavaObject>("currentActivity"); | |
_activityObject.Call("sendSMSMessage", _phoneNumber, _messageBody); | |
} | |
} | |
} | |
} |
Hello. It's not worked for me. Unity 5.3.4
With manifest file app force closed. I delete manifest file and build. But when I press SendSMS, nothing happens
I create another gist based on this code but without creating a java plugin, just in case somebody need it https://gist.github.com/rmdwirizki/87f9e68c7ef6ef809a777eb25f12c3b2
@rmdwirizki: Your code works like a charm and it's much easier for me to use. Thank you.
ببخشید بنده از همین راه رفتم . ولی با ارور رفرنس مواجه میشدم . در خطهایی که مواردی مثل
_activityObject.Call("sendSMSMessage", _phoneNumber, _messageBody);
وجود داشت
به این ها گیر میداد . چیکار میشه کرد اقای تاثیری؟
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
سلام آقای تأثیری
از نام شما حدس زدم که احتمالا ایرانی باشید
محمد رضا عزیز! من در حال ساخت یک مسنجر در یونیتی هستم و از این طریق پست شما رو دیدم. مشکلی دارم که خواستم بدونم امکانش هست که شما به من کمک کنید؟
مشکل من آن است که ارتفاع کیبورد در یونیتی در اندروید قابل دریافت نیست و همیشه عدد صفر را نشان میدهد
فیلد اینپوت تکست هم قابل ادیت نیست! خیلی سرچ کردم و یک ماه است که درگیر این مسئله هستم.
بهترین پاسخی که دیدم لینک زیر است ::
http://iswwwup.com/t/7639b145fe65/height-of-virtual-android-keyboard-for-untiy3d.html
ولی نتوانستم با آن هم موفق شوم
خوشحال میشوم صدای شما را بشنوم
شماره من:
09112119203