Compare commits

..

2 Commits

Author SHA1 Message Date
ZhanGSKen
9e9402f84e <contacts>APK 15.3.12 release Publish. 2025-07-27 15:39:49 +08:00
ZhanGSKen
ec18330022 窗口回显时刷新到最新数据。 2025-07-27 15:38:16 +08:00
10 changed files with 38 additions and 191 deletions

View File

@@ -1,8 +1,8 @@
#Created by .winboll/winboll_app_build.gradle #Created by .winboll/winboll_app_build.gradle
#Thu Jul 17 09:57:24 HKT 2025 #Sun Jul 27 15:39:49 HKT 2025
stageCount=12 stageCount=13
libraryProject= libraryProject=
baseVersion=15.3 baseVersion=15.3
publishVersion=15.3.11 publishVersion=15.3.12
buildCount=0 buildCount=0
baseBetaVersion=15.3.12 baseBetaVersion=15.3.13

View File

@@ -40,6 +40,10 @@ public class CallLogAdapter extends RecyclerView.Adapter<CallLogAdapter.CallLogV
this.mContactUtils = ContactUtils.getInstance(mContext); this.mContactUtils = ContactUtils.getInstance(mContext);
this.callLogList = callLogList; this.callLogList = callLogList;
} }
public void relaodContacts() {
this.mContactUtils.relaodContacts();
}
@NonNull @NonNull
@Override @Override

View File

@@ -161,4 +161,12 @@ public class CallLogFragment extends Fragment {
_CallLogFragment.triggerUpdate(); _CallLogFragment.triggerUpdate();
} }
} }
@Override
public void onResume() {
super.onResume();
//ToastUtils.show("onResume");
callLogAdapter.relaodContacts();
readCallLog(); // 窗口回显时更新通话记录
}
} }

View File

@@ -163,5 +163,12 @@ public class ContactsFragment extends Fragment {
} }
contactAdapter.notifyDataSetChanged(); contactAdapter.notifyDataSetChanged();
} }
@Override
public void onResume() {
super.onResume();
//ToastUtils.show("onResume");
readContacts(); // 窗口回显时更新联系人列表
}
} }

View File

@@ -1,8 +1,8 @@
#Created by .winboll/winboll_app_build.gradle #Created by .winboll/winboll_app_build.gradle
#Thu Jul 24 10:16:27 HKT 2025 #Sun Jun 08 21:21:11 HKT 2025
stageCount=2 stageCount=1
libraryProject= libraryProject=
baseVersion=15.1 baseVersion=15.1
publishVersion=15.1.1 publishVersion=15.1.0
buildCount=0 buildCount=0
baseBetaVersion=15.1.2 baseBetaVersion=15.1.1

View File

@@ -3,11 +3,6 @@
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
package="cc.winboll.studio.numtable"> package="cc.winboll.studio.numtable">
<!-- Android 13及以下需要的权限 -->
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
<!-- 可选:查询快捷方式是否存在(部分机型需要) -->
<uses-permission android:name="com.android.launcher.permission.QUERY_ALL_PACKAGES" />
<application <application
android:allowBackup="true" android:allowBackup="true"
android:icon="@drawable/ic_launcher" android:icon="@drawable/ic_launcher"
@@ -34,7 +29,9 @@
<meta-data <meta-data
android:name="android.max_aspect" android:name="android.max_aspect"
android:value="4.0"/> android:value="4.0"/>
<activity android:name=".GlobalApplication$CrashActivity"/>
</application> </application>
</manifest> </manifest>

View File

@@ -1,20 +1,10 @@
package cc.winboll.studio.numtable; package cc.winboll.studio.numtable;
import android.content.Intent;
import android.content.pm.ShortcutInfo;
import android.content.pm.ShortcutManager;
import android.graphics.drawable.Icon;
import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.RadioButton;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar; import androidx.appcompat.widget.Toolbar;
import cc.winboll.studio.libappbase.LogView; import cc.winboll.studio.libappbase.LogView;
import cc.winboll.studio.numtable.R;
import com.hjq.toast.ToastUtils; import com.hjq.toast.ToastUtils;
import java.util.UUID;
public class MainActivity extends AppCompatActivity { public class MainActivity extends AppCompatActivity {
@@ -29,99 +19,10 @@ public class MainActivity extends AppCompatActivity {
setSupportActionBar(toolbar); setSupportActionBar(toolbar);
mLogView = findViewById(R.id.logview); mLogView = findViewById(R.id.logview);
// 初始化创建快捷方式按钮 ToastUtils.show("onCreate");
Button btnCreateShortcut = findViewById(R.id.btn_create_shortcut);
btnCreateShortcut.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
createDesktopShortcut();
}
});
((RadioButton)findViewById(R.id.rb_right)).setChecked(true);
((RadioButton)findViewById(R.id.rb_left)).setChecked(false);
} }
public void onDirectionClick(View view) {
switch (view.getId()) {
case R.id.rb_right:
{
((RadioButton)findViewById(R.id.rb_left)).setChecked(false);
break;
}
case R.id.rb_left:
{
((RadioButton)findViewById(R.id.rb_right)).setChecked(false);
break;
}
}
}
/**
* 创建桌面快捷方式
*/
private void createDesktopShortcut() {
// 1. 创建启动目标Activity的Intent通常是你的主Activity
Intent targetIntent = new Intent(this, MainActivity.class); // 替换为你的主Activity
targetIntent.setAction(Intent.ACTION_MAIN);
targetIntent.addCategory(Intent.CATEGORY_LAUNCHER);
targetIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
// 2. 创建快捷方式的Intent
Intent shortcutIntent = new Intent();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
// 生成随机UUID
UUID uuid = UUID.randomUUID();
// 转换为字符串
String uuidStr = uuid.toString();
// Android 8.0及以上使用ShortcutManager
ShortcutManager shortcutManager = getSystemService(ShortcutManager.class);
if (shortcutManager.isRequestPinShortcutSupported()) {
if (((RadioButton)findViewById(R.id.rb_right)).isChecked()) {
// 创建快捷方式信息
ShortcutInfo shortcutInfo = new ShortcutInfo.Builder(this, uuidStr) // 唯一ID
.setShortLabel(">>") // 短标签(显示在桌面)
.setLongLabel("在右边 >>") // 长标签(长按显示)
.setIcon(Icon.createWithResource(this, R.drawable.ic_point_right)) // 图标
.setIntent(targetIntent)
.build();
// 发送创建请求
shortcutManager.requestPinShortcut(shortcutInfo, null);
} else {
ShortcutInfo shortcutInfo = new ShortcutInfo.Builder(this, uuidStr) // 唯一ID
.setShortLabel("<<") // 短标签(显示在桌面)
.setLongLabel("在左边 <<") // 长标签(长按显示)
.setIcon(Icon.createWithResource(this, R.drawable.ic_point_left)) // 图标
.setIntent(targetIntent)
.build();
// 发送创建请求
shortcutManager.requestPinShortcut(shortcutInfo, null);
}
ToastUtils.show("已请求创建快捷方式");
} else {
ToastUtils.show("当前设备不支持创建快捷方式");
}
} else {
// Android 7.1及以下:使用旧版广播方式
shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, targetIntent);
shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "应用快捷方式"); // 快捷方式名称
// 设置图标(使用应用图标)
shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,
Intent.ShortcutIconResource.fromContext(this, R.mipmap.ic_launcher));
// 标记为创建快捷方式
shortcutIntent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
// 防止重复创建
shortcutIntent.putExtra("duplicate", false);
// 发送广播创建快捷方式
sendBroadcast(shortcutIntent);
ToastUtils.show("快捷方式已创建");
}
}
@Override @Override
protected void onResume() { protected void onResume() {
super.onResume(); super.onResume();

View File

@@ -1,20 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="512dp"
android:height="512dp"
android:viewportWidth="512"
android:viewportHeight="512">
<path
android:fillColor="#FF3D8A1C"
android:strokeColor="#FFF5DD00"
android:strokeWidth="5.0"
android:strokeLineCap="round"
android:strokeMiterLimit="10"
android:pathData="M401.84 141.95C361.52 236.12 354.86 278.98 399.2 382.12 359.53 383.01 245.24 289.83 245.38 265.73 247.41 236.75 361.69 143.4 401.84 141.95Z"/>
<path
android:fillColor="#FF3D8A1C"
android:strokeColor="#FFF5DD00"
android:strokeWidth="5.0"
android:strokeLineCap="round"
android:strokeMiterLimit="10"
android:pathData="M276.81 141.95C236.49 236.12 229.83 278.98 274.17 382.12 234.5 383.01 120.2 289.83 120.35 265.73 122.37 236.75 236.66 143.4 276.81 141.95Z"/>
</vector>

View File

@@ -1,20 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="512dp"
android:height="512dp"
android:viewportWidth="512"
android:viewportHeight="512">
<path
android:fillColor="#FF3D8A1C"
android:strokeColor="#FFF5DD00"
android:strokeWidth="5.0"
android:strokeLineCap="round"
android:strokeMiterLimit="10"
android:pathData="M103.57 145.68C143.89 239.85 150.55 282.71 106.21 385.85 145.88 386.74 260.17 293.56 260.03 269.46 258 240.48 143.72 147.13 103.57 145.68Z"/>
<path
android:fillColor="#FF3D8A1C"
android:strokeColor="#FFF5DD00"
android:strokeWidth="5.0"
android:strokeLineCap="round"
android:strokeMiterLimit="10"
android:pathData="M228.6 145.68C268.92 239.85 275.58 282.71 231.24 385.85 270.91 386.74 385.21 293.56 385.06 269.46 383.04 240.48 268.75 147.13 228.6 145.68Z"/>
</vector>

View File

@@ -23,44 +23,14 @@
android:orientation="vertical" android:orientation="vertical"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="0dp" android:layout_height="0dp"
android:layout_weight="1.0"> android:layout_weight="1.0"
android:gravity="center_vertical|center_horizontal">
<LinearLayout <TextView
android:orientation="horizontal" android:layout_width="wrap_content"
android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:gravity="right|center_vertical" android:text="NumTable"
android:layout_gravity="center_vertical"> android:textAppearance="?android:attr/textAppearanceLarge"/>
<ImageView
android:layout_width="60dp"
android:layout_height="60dp"
android:background="@drawable/ic_point_right"/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/rb_right"
android:onClick="onDirectionClick"/>
<ImageView
android:layout_width="60dp"
android:layout_height="60dp"
android:background="@drawable/ic_point_left"/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/rb_left"
android:onClick="onDirectionClick"/>
<Button
android:id="@+id/btn_create_shortcut"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="创建桌面快捷方式"/>
</LinearLayout>
</LinearLayout> </LinearLayout>