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); | |
} | |
} | |
} | |
} |
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
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