Android API >= 26,分享收藏数据库崩溃,屏蔽

This commit is contained in:
sonichy 2024-05-24 12:57:34 +08:00
parent 07ec466136
commit 73d01233d4
3 changed files with 16 additions and 8 deletions

BIN
app.apk

Binary file not shown.

View File

@ -12,6 +12,7 @@ import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase;
import android.graphics.Color; import android.graphics.Color;
import android.net.Uri; import android.net.Uri;
import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.text.Editable; import android.text.Editable;
import android.text.TextWatcher; import android.text.TextWatcher;
@ -212,11 +213,17 @@ public class FavoriteActivity extends Activity {
case 2: case 2:
File file = new File(DBHelper.DATABASE_NAME); File file = new File(DBHelper.DATABASE_NAME);
if (file.exists()) { if (file.exists()) {
Intent intent = new Intent(); if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) {
intent.setAction(Intent.ACTION_SEND); Intent intent = new Intent();
intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file)); intent.setAction(Intent.ACTION_SEND);
intent.setType("*/*"); Uri uri = Uri.fromFile(file);
startActivity(Intent.createChooser(intent, "分享 " + DBHelper.filename)); //Uri uri = FileProvider.getUriForFile(); //API>=26, FileUriExposedException
intent.putExtra(Intent.EXTRA_STREAM, uri);
intent.setType("*/*");
startActivity(Intent.createChooser(intent, "分享 " + DBHelper.filename));
} else {
Toast.makeText(getApplicationContext(), "不支持", Toast.LENGTH_SHORT).show();
}
} else { } else {
Toast.makeText(getApplicationContext(), "数据库文件不存在", Toast.LENGTH_SHORT).show(); Toast.makeText(getApplicationContext(), "数据库文件不存在", Toast.LENGTH_SHORT).show();
} }

View File

@ -412,7 +412,7 @@ public class MainActivity extends Activity {
WebView w = (WebView) v; WebView w = (WebView) v;
HitTestResult result = w.getHitTestResult(); HitTestResult result = w.getHitTestResult();
HTRE = result.getExtra(); HTRE = result.getExtra();
Log.e(Thread.currentThread().getStackTrace()[2] + " ", HTRE + ""); Toast.makeText(getApplicationContext(), result.toString(), Toast.LENGTH_SHORT).show();
menu.setHeaderTitle(HTRE); menu.setHeaderTitle(HTRE);
if (result.getType() == HitTestResult.IMAGE_TYPE || result.getType() == HitTestResult.SRC_IMAGE_ANCHOR_TYPE) { if (result.getType() == HitTestResult.IMAGE_TYPE || result.getType() == HitTestResult.SRC_IMAGE_ANCHOR_TYPE) {
menu.setHeaderIcon(android.R.drawable.ic_menu_gallery); menu.setHeaderIcon(android.R.drawable.ic_menu_gallery);
@ -849,7 +849,7 @@ public class MainActivity extends Activity {
case 5: case 5:
intent = new Intent(); intent = new Intent();
intent.setAction(Intent.ACTION_SEND); intent.setAction(Intent.ACTION_SEND);
intent.putExtra(Intent.EXTRA_TEXT, list_webView.get(currentPage).getUrl()); intent.putExtra(Intent.EXTRA_TEXT, list_webView.get(currentPage).getTitle() + "\n" + list_webView.get(currentPage).getUrl());
intent.setType("text/plain"); intent.setType("text/plain");
startActivity(Intent.createChooser(intent, "分享")); startActivity(Intent.createChooser(intent, "分享"));
break; break;
@ -996,8 +996,9 @@ public class MainActivity extends Activity {
WebSettings webSettings = webView.getSettings(); WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true); webSettings.setJavaScriptEnabled(true);
webSettings.setDomStorageEnabled(true); webSettings.setDomStorageEnabled(true);
webView.setWebViewClient(new WebViewClient());
webView.loadUrl("file:///android_asset/home.htm"); webView.loadUrl("file:///android_asset/home.htm");
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);}"; 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);alert(localStorage.webfav);}";
webView.loadUrl(js); webView.loadUrl(js);
break; break;
case 22: case 22: