要件の説明:
- SKUI IDが600TELまたは600CLAの場合、電子メールを送信するときに、署名を構成する必要があります
。Telcel:「Enviado desde mi <ブランド名> de Telcel」。
クラロ:「Enviado desde mi <ブランド名> de Claro。」ここで:
<ブランド名>はメーカーを指します。 <Android Go用のメールPartnerProviderアプリの簡単な紹介>を参照してください。 -
Telcelは、次のとおり です。「Telcelの私のNokiaから送信されました。」
Claroは、 「私のClaro Nokiaから送信されました」です。
Googleが提供するGmailPartnerProviderでカスタマイズします。注:Googleで確認した後、この要件のグローバル署名は、Gmailメールボックスアカウントを除く他の3者のメールボックス署名に対して有効です。つまり、Gmailを使用して163、QQ、およびMicrosoftのメールボックスにログインすると、メールボックスの署名は有効になり、Gmailアカウントにログインするためのメールボックスの署名は無効になります。
java / com / android / email / partnerprovider / PartnerProvider.java
パブリックカーソルクエリ()メソッドで、MATCH_GLOBAL_SIGNATUREの場合にglobalSignatureを変更し、戻り値にglobalSignatureのカーソルを含めます。
case MATCH_GLOBAL_SIGNATURE:
cursor = new MatrixCursor(GLOBAL_SIGNATURE_COLUMNS);
//+added
String globalSignature = "";
String str = getProperty("ro.boot.skuid", "");
if("600TEL".equals(str)||"600CLA".equals(str)) {
Resources res = getContext().getResources();
Configuration config = res.getConfiguration();
globalSignature = getContext().getString(R.string.global_signature);
Log.e(TAG, "chentest mmc=" + Integer.toString(config.mcc)
+ "-mnc=" + Integer.toString(config.mnc) + " globalSignature: " + globalSignature);
}
//-added
if (!TextUtils.isEmpty(globalSignature)) {
cursor.addRow(new Object[] {globalSignature});
}
return cursor;
res / values / strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="global_signature">Sent from Android device</string>
</resources>
同時に、異なるSIMカードに応じて、異なる言語を異なるmcc / mnc文字列で表示できます。たとえば、res / values-mcc330-mnc110 / strings.xml
<resources>
<string name="global_signature">Enviado desde mi Nokia de Claro.</string>
</resources>
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="global_signature">Enviado desde mi Nokia de Telcel.</string>
</resources>
×注:
Android Goプロジェクトの場合、AndroidManifest、xmlを変更する必要があります
<provider
android:name=".PartnerProvider"
android:authorities="com.android.email.partnerprovider.lite"
android:exported="true"
android:permission="com.android.email.partnerprovider.PARTNER_PROVIDER" />
</application>
またjava / com / android / email / partnerprovider / PartnerProvider.java
static final String AUTHORITY = "com.android.email.partnerprovider.lite";
Android Goプロジェクトではない場合、AndroidManifest、xml
<provider
android:name=".PartnerProvider"
android:authorities="com.android.email.partnerprovider"
android:exported="true"
android:permission="com.android.email.partnerprovider.PARTNER_PROVIDER" />
</application>
またjava / com / android / email / partnerprovider / PartnerProvider.java
static final String AUTHORITY = "com.android.email.partnerprovider";
2番目のステップ、Android.mkファイル
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_PACKAGE_NAME := GmailPartnerProvider
LOCAL_MODULE_TAGS := optional
LOCAL_CERTIFICATE := platform
LOCAL_SDK_VERSION := current
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_SRC_FILES := $(call all-java-files-under)
include $(BUILD_PACKAGE)
ステップ3:GmailPartnerProviderをコンパイルに追加する
アンドロイド/デバイス/ QCOM /プロジェクト/プログラムの.mk
#+add
PRODUCT_PACKAGES += \
GmailPartnerProvider