Sto utilizzando PhoneGap per creare un plug-in finalizzato all'invio di SMS. Di seguito è la funzione che uso per farlo.E-mail ebraico in Android
private void sendSMS(String phoneNumber, String message) {
// Activity currentActivity = (Activity)this.ctx;
SmsManager manager = SmsManager.getDefault();
PendingIntent sentIntent = PendingIntent.getActivity(cordova.getContext(), 0, new Intent(), 0);
manager.sendTextMessage(phoneNumber, null, message, sentIntent, null);
}
Quando la variabile "messaggio" contiene inglese, tutto funziona correttamente. Ma se il messaggio è in ebraico, ricevo un errore.
Qui sotto ingresso in ebraico
סך הלכל מוזמן 2 פריטים סלט פיצוצ בסרי שווה ל 10,3 כמות 1 סלט שרימפס שווה ל 8,15 כמות 2 סך הכל חשבון 26,6 שקלים
seguito è una classe che contiene la descrizione del testo. Sospetto che il problema sia un problema con l'unicode, ma non so come risolverlo.
Per favore aiuto.
public class MenuEntry {
public String getPid() {
return pid;
}
public void setPid(String pid) {
this.pid = pid;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public String getCategoryName() {
return categoryName;
}
public void setCategoryName(String categoryName) {
this.categoryName = categoryName;
}
public MenuEntry() {
super();
this.pid = "";
}
public String GetPriceAndDescription(int unit) {
StringBuilder result = new StringBuilder();
result.append(this.getTitle());
result.append(" שווה ל ");
result.append(this.getPrice());
result.append(" כמות ");
result.append(unit);
result.append("\n");
return result.toString();
}
public String GetPriceAndDescription() {
StringBuilder result = new StringBuilder();
result.append(this.getTitle());
result.append(" שווה ל ");
result.append(this.getPrice());
result.append("\n");
return result.toString();
}
public MenuEntry(String pid, String title, String description, double price, String categoryName) {
super();
this.pid = pid;
this.title = title;
this.description = description;
this.price = price;
this.categoryName = categoryName;
}
private String pid;
private String title;
private String description;
private double price;
private String categoryName;
}
Vedere di seguito la definizione del file manifest, per vedere la versione di destinazione.
<uses-sdk
android:minSdkVersion="7"
android:targetSdkVersion="15" />
"Ricevo un errore." è un'informazione utile come il mio attuale consiglio per te: "allora aggiustalo". –
Che errore ottieni? Su quale versione di Android stai testando? –
Per l'ebraico all'interno di Java Strings, per essere corretto sia l'editor che il compilatore javac devono operare nella stessa codifica ('javac -encoding utf') o usare unicode escape' \ u05d0' (aleph). (È improbabile che tu abbia commesso un errore.) –