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); | |
} | |
} | |
} | |
} |
ببخشید بنده از همین راه رفتم . ولی با ارور رفرنس مواجه میشدم . در خطهایی که مواردی مثل
_activityObject.Call("sendSMSMessage", _phoneNumber, _messageBody);
وجود داشت
به این ها گیر میداد . چیکار میشه کرد اقای تاثیری؟
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@rmdwirizki: Your code works like a charm and it's much easier for me to use. Thank you.