標籤:tco 案頭 tac except cal getc get delphi ber
function getLauncherClassName: JString;var str : JString; localPackageManager : JPackageManager; Intent: JIntent; localIterator : JIterator; localResolveInfo : JResolveInfo;begin localPackageManager := SharedActivity.getPackageManager; Intent := TJIntent.JavaClass.init(StringToJString(‘android.intent.action.MAIN‘)); Intent.addCategory(StringToJString(‘android.intent.category.LAUNCHER‘)); try localIterator := localPackageManager.queryIntentActivities(Intent,0).iterator; while localIterator.hasNext do begin localResolveInfo := TJResolveInfo.Wrap((localIterator.next as ILocalObject).GetObjectID); if (not localResolveInfo.activityInfo.applicationInfo.packageName.equalsIgnoreCase(SharedActivity.getPackageName)) then Continue; Result := localResolveInfo.activityInfo.name; Break; end; except end;end;procedure setHuaweiBadge(num: Integer);var str : JString; localBundle : JBundle;begin str := getLauncherClassName; if JStringToString(str) <> ‘‘ then begin localBundle := TJBundle.JavaClass.init; localBundle.putString(StringToJString(‘package‘), SharedActivityContext.getPackageName()); localBundle.putString(StringToJString(‘class‘), str); localBundle.putInt(StringToJString(‘badgenumber‘), 3); SharedActivityContext.getContentResolver.call(StrToJURI(‘content://com.huawei.android.launcher.settings/badge/‘),StringToJString(‘change_badge‘),StringToJString(‘null‘),localBundle); end;end;
現在手頭上只有華為的手機,其他沒有經過測試的代碼就不貼出來了,自己找java代碼轉換。
判斷手機類型:TJBuild.JavaClass.MANUFACTURER.EqualsIgnoreCase(StringToJString(‘huawei‘))
delphi在手機案頭表徵圖上顯示數字