wie Benutzerdaten wie, OS-Version, Telefonmodell usw. mit dem EXTRA_TEXT in email Intent sammeln?Geräteinformationen abrufen. mit EmailIntent
http://i.stack.imgur.com/BYMTa.jpg
wie Benutzerdaten wie, OS-Version, Telefonmodell usw. mit dem EXTRA_TEXT in email Intent sammeln?Geräteinformationen abrufen. mit EmailIntent
http://i.stack.imgur.com/BYMTa.jpg
Sie können c reate eine eigene Klasse wie folgt aus:
import android.content.Context;
import android.content.pm.PackageManager;
import android.os.Build;
import android.telephony.TelephonyManager;
import android.text.TextUtils;
public class Utils {
public static String buildDeviceUserInformation(Context context) {
StringBuilder builder = new StringBuilder();
builder.append(String.format("Device: %s\n", getDeviceName()));
builder.append(String.format("OS: %s\n", Build.VERSION.RELEASE));
builder.append(String.format("App Version: %1$s/%2$s\n", getAppVersion(context), getAppVersionCode(context)));
String carrierName = getCarrier(context);
if(!TextUtils.isEmpty(carrierName))
builder.append(String.format("Carrier: %1$s\n", carrierName));
return builder.toString();
}
public static String getCarrier(Context context) {
try {
TelephonyManager manager = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
return manager.getNetworkOperatorName();
}
catch (Exception e) {
return "";
}
}
public static String getDeviceName() {
String device = Build.MANUFACTURER;
if(!TextUtils.isEmpty(Build.MODEL)) {
device = TextUtils.isEmpty(device) ? Build.MODEL : device + " " + Build.MODEL;
}
return device;
}
public static String getAppVersion(Context context) {
try {
return context.getPackageManager().getPackageInfo(context.getPackageName(), 0).versionName;
} catch (PackageManager.NameNotFoundException e) {
return "";
}
}
public static Integer getAppVersionCode(Context context) {
try {
return context.getPackageManager().getPackageInfo(context.getPackageName(), 0).versionCode;
} catch (PackageManager.NameNotFoundException e) {
return null;
}
}
}
und dann einfach in Ihre Absicht es wie folgt verwenden:
emailIntent.putExtra(Intent.EXTRA_TEXT, Utils.buildDeviceUserInformation(AboutMeActivity.this));
Ausgabe würde wie folgt aussehen:
Device: LGE Nexus 5
OS: 6.0.1
App Version: 10.70/1070
Um die OS-Version zu erhalten, verwenden Sie einfach Build.VERSION.RELEASE
Was das Gerätemodell können Sie
public static String getDeviceModel() {
return Build.MANUFACTURER + " " + Build.MODEL;
}
dann verwenden, wenn Sie diese in den Text Ihrer aufnehmen möchten emailIntent, verwenden Sie einfach:
StringBuilder builder = new StringBuilder();
//Device model
builder.append(getDeviceModel())
.append("\n");
//OS
builder.append(Build.VERSION.RELEASE);
intent.putExtra(android.content.Intent.EXTRA_TEXT, builder.toString());
Intent chooserIntent = Intent.createChooser(intent, "Contact us");
startActivity(chooserIntent);
Dank! Es funktioniert :) – user6330086
seine throw Fehler wie unbekannte Entität Context .. & unbekannt Modifikator statisch. – user6330086
Ich habe gerade meine Antwort mit den Importen aktualisiert – x0r
ok, werde zurück melden! :) – user6330086