增加添加快捷方式到桌面

This commit is contained in:
sonichy 2024-04-30 17:22:29 +08:00
parent 14783e4b7b
commit ebaeadfb2d
5 changed files with 35 additions and 4 deletions

BIN
app.apk

Binary file not shown.

View File

@ -2,7 +2,7 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.hty.browser"
android:versionCode="4"
android:versionName="4.37">
android:versionName="4.38">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- 查询网络状态权限 -->
@ -16,6 +16,8 @@
<uses-permission android:name="android.permission.ACCESS_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"

View File

@ -22,7 +22,9 @@ p { text-indent:2em; }
<p><a href="https://blog.csdn.net/lowprofile_coding/article/details/77852131" target="_blank">自动安装apk包</a></p>
<p><a href="https://stackoverflow.com/questions/3462582/display-the-android-webviews-favicon" target="_blank">获取网页图标</a></p>
<p><a href="https://www.jianshu.com/p/c9a18050a249" target="_blank">字符串转Bitmap</a></p>
<p><a href="https://blog.51cto.com/u_16175498/8811197" target="_blank">添加网址到桌面</a></p>
<h3>更新日志:</h3>
<h3>V4.38 (2024-04-30)</h3><ol><li>增加添加网址到桌面。</li></ol>
<h3>V4.37 (2024-03-27)</h3><ol><li>修复保存网址规则前面有1个空格的问题。</li><li>增加点击规则查看详情。</li></ol>
<h3>V4.36 (2024-03-25)</h3><ol><li>增加添加网址到主页。</li></ol>
<h3>V4.35 (2024-03-16)</h3><ol><li>增加自定义主页。</li></ol>

View File

@ -29,6 +29,7 @@ import android.Manifest;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.DownloadManager;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.ClipData;
import android.content.ClipboardManager;
@ -40,6 +41,8 @@ import android.content.IntentFilter;
import android.content.SharedPreferences;
import android.content.pm.ActivityInfo;
import android.content.pm.PackageManager;
import android.content.pm.ShortcutInfo;
import android.content.pm.ShortcutManager;
import android.content.res.Configuration;
import android.database.Cursor;
import android.graphics.Bitmap;
@ -47,6 +50,7 @@ import android.graphics.BitmapFactory;
import android.graphics.Color;
import android.graphics.Matrix;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Icon;
import android.media.MediaScannerConnection;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
@ -128,7 +132,9 @@ public class MainActivity extends Activity {
DownloadCompleteReceiver receiver;
final String[] PERMISSIONS = {
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE };
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.INSTALL_SHORTCUT
};
final int REQUEST_PERMISSION_CODE = 1;
Boolean isExit = false;
ClipboardManager clipboardManager;
@ -683,7 +689,7 @@ public class MainActivity extends Activity {
}
private void MenuDialog() {
String[] items = { "新建窗口", "关闭当前窗口", "收藏当前页", "收藏夹", "查找", "分享", "网页信息", "视频独立播放", "视频截图", "视频在播放器中打开", "资源探查", "查看源码", "保存", "全屏", "广告屏蔽", "清除当前页面缓存", "设置", "检查更新", "关于", "退出", "ExpandableListView", "添加到主页" };
String[] items = { "新建窗口", "关闭当前窗口", "收藏当前页", "收藏夹", "查找", "分享", "网页信息", "视频独立播放", "视频截图", "视频在播放器中打开", "资源探查", "查看源码", "保存", "全屏", "广告屏蔽", "清除当前页面缓存", "设置", "检查更新", "关于", "退出", "ExpandableListView", "添加到主页", "添加到桌面" };
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("菜单");
//builder.setIcon(android.R.drawable.ic_menu_preferences);
@ -994,6 +1000,27 @@ public class MainActivity extends Activity {
js = "javascript:window.onload=function(){var json=JSON.parse(localStorage.webfav);for(var i=0;i<json.length;i++){if(json[i].website=='" + urln + "'){alert('网址已经存在!');return;}}json.push({title: '" + ptitle + "',website:'" + urln + "'});localStorage.webfav=JSON.stringify(json);}";
webView.loadUrl(js);
break;
case 22:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
ShortcutManager shortcutManager = getSystemService(ShortcutManager.class);
if (shortcutManager.isRequestPinShortcutSupported()) {
String url = list_webView.get(currentPage).getUrl();
String title = list_webView.get(currentPage).getTitle();
Intent shortcutIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
ShortcutInfo shortcutInfo = new ShortcutInfo.Builder(getApplicationContext(), url)
.setShortLabel(title)
.setLongLabel(title)
.setIcon(Icon.createWithResource(getApplicationContext(), R.drawable.ic_launcher))
.setIntent(shortcutIntent)
.build();
Intent pinnedShortcutCallbackIntent = shortcutManager.createShortcutResultIntent(shortcutInfo);
PendingIntent successCallback = PendingIntent.getBroadcast(getApplicationContext(), 0, pinnedShortcutCallbackIntent, 0);
shortcutManager.requestPinShortcut(shortcutInfo, successCallback.getIntentSender());
}
} else {
Toast.makeText(getApplicationContext(), "不支持创建快捷方式", Toast.LENGTH_SHORT).show();
}
break;
}
}
});

View File

@ -1 +1 @@
{4.37}
{4.38}