From 00065f5c1f68ede74cfb029e5fd65a7f1441f890 Mon Sep 17 00:00:00 2001 From: dingruihua <2769593615@qq.com> Date: Sat, 22 Oct 2022 18:19:46 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BA=86=E6=9D=83=E9=99=90?= =?UTF-8?q?=E7=AE=A1=E7=90=86=EF=BC=8C=E4=BF=AE=E6=94=B9=E4=BA=86=E4=B8=80?= =?UTF-8?q?=E4=B8=8B=E5=85=B6=E4=BB=96=E9=97=AE=E9=A2=98=EF=BC=8C=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E4=BA=86=E4=B8=80=E4=BA=9B=E4=BE=9D=E8=B5=96=EF=BC=8C?= =?UTF-8?q?=E4=BB=8E=E8=80=8C=E4=BF=9D=E8=AF=81=E4=BA=86=E5=8F=AF=E4=BB=A5?= =?UTF-8?q?=E8=AE=BF=E9=97=AEandroid12=EF=BC=88=E5=8D=B3=E6=88=91=E8=87=AA?= =?UTF-8?q?=E5=B7=B1=E7=9A=84=E6=89=8B=E6=9C=BA=EF=BC=89=E7=9A=84=E7=9B=B8?= =?UTF-8?q?=E5=86=8C=EF=BC=8C=E5=B9=B6=E4=B8=94=E6=9B=B4=E6=94=B9=E4=BA=86?= =?UTF-8?q?=E7=94=BB=E6=9D=BF=E7=9A=84=E5=AD=98=E6=94=BE=E8=B7=AF=E5=BE=84?= =?UTF-8?q?=EF=BC=8C=E4=BD=BF=E7=94=BB=E6=9D=BF=E5=AD=98=E6=94=BE=E5=9C=A8?= =?UTF-8?q?=E6=89=8B=E6=9C=BA=E7=9B=B8=E5=86=8C=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../notes/gtask/remote/GTaskASyncTask.java | 15 +++--- .../net/micode/notes/ui/BoardActivity.java | 4 +- .../net/micode/notes/ui/NoteEditActivity.java | 53 ++++++++++++++++--- src/main/res/layout/activity_paint.xml | 8 +-- 4 files changed, 60 insertions(+), 20 deletions(-) diff --git a/src/main/java/net/micode/notes/gtask/remote/GTaskASyncTask.java b/src/main/java/net/micode/notes/gtask/remote/GTaskASyncTask.java index b3b61e7..7aaa66a 100644 --- a/src/main/java/net/micode/notes/gtask/remote/GTaskASyncTask.java +++ b/src/main/java/net/micode/notes/gtask/remote/GTaskASyncTask.java @@ -64,10 +64,6 @@ public class GTaskASyncTask extends AsyncTask { } private void showNotification(int tickerId, String content) { - Notification notification = new Notification(R.drawable.notification, mContext - .getString(tickerId), System.currentTimeMillis()); - notification.defaults = Notification.DEFAULT_LIGHTS; - notification.flags = Notification.FLAG_AUTO_CANCEL; PendingIntent pendingIntent; if (tickerId != R.string.ticker_success) { pendingIntent = PendingIntent.getActivity(mContext, 0, new Intent(mContext, @@ -77,8 +73,15 @@ public class GTaskASyncTask extends AsyncTask { pendingIntent = PendingIntent.getActivity(mContext, 0, new Intent(mContext, NotesListActivity.class), 0); } - notification.setLatestEventInfo(mContext, mContext.getString(R.string.app_name), content, - pendingIntent); + Notification notification = new Notification.Builder(mContext) + .setAutoCancel(true) + .setContentTitle("title") + .setContentText("describe") + .setContentIntent(pendingIntent) + .setWhen(System.currentTimeMillis()) + .build(); + notification.defaults = Notification.DEFAULT_LIGHTS; + notification.flags = Notification.FLAG_AUTO_CANCEL; mNotifiManager.notify(GTASK_SYNC_NOTIFICATION_ID, notification); } diff --git a/src/main/java/net/micode/notes/ui/BoardActivity.java b/src/main/java/net/micode/notes/ui/BoardActivity.java index fee4249..c09957d 100644 --- a/src/main/java/net/micode/notes/ui/BoardActivity.java +++ b/src/main/java/net/micode/notes/ui/BoardActivity.java @@ -106,8 +106,8 @@ public class BoardActivity extends Activity { String str = formatter.format(curDate); String paintPath = ""; str = str + "paint.png"; - File dir = new File("/sdcard/notes"); - File file = new File("/sdcard/notes",str); + File dir = new File("/storage/emulated/0/DCIM/Camera"); + File file = new File("/storage/emulated/0/DCIM/Camera",str); if (!dir.exists()) { dir.mkdir(); } diff --git a/src/main/java/net/micode/notes/ui/NoteEditActivity.java b/src/main/java/net/micode/notes/ui/NoteEditActivity.java index 189ddce..2a6685d 100644 --- a/src/main/java/net/micode/notes/ui/NoteEditActivity.java +++ b/src/main/java/net/micode/notes/ui/NoteEditActivity.java @@ -16,6 +16,7 @@ package net.micode.notes.ui; +import android.Manifest; import android.app.Activity; import android.app.AlarmManager; import android.app.AlertDialog; @@ -29,6 +30,7 @@ import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.content.SharedPreferences; +import android.content.pm.PackageManager; import android.database.Cursor; import android.graphics.Bitmap; import android.graphics.BitmapFactory; @@ -55,6 +57,7 @@ import android.view.MotionEvent; import android.view.View; import android.view.View.OnClickListener; import android.view.WindowManager; +import android.widget.Button; import android.widget.CheckBox; import android.widget.CompoundButton; import android.widget.CompoundButton.OnCheckedChangeListener; @@ -64,6 +67,11 @@ import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import android.widget.Toast; +import androidx.appcompat.app.AppCompatActivity; +import androidx.core.app.ActivityCompat; +import androidx.core.content.ContextCompat; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import net.micode.notes.R; import net.micode.notes.data.Notes; @@ -163,8 +171,12 @@ public class NoteEditActivity extends Activity implements OnClickListener, private String mUserQuery; private Pattern mPattern; + private static final int GET_STORAGE_PERMISSION = 2; + private final int PHOTO_REQUEST = 1;//请求码 + + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -177,24 +189,49 @@ public class NoteEditActivity extends Activity implements OnClickListener, initResources(); + //根据id获取添加图片按钮 final ImageButton add_img_btn = (ImageButton) findViewById(R.id.add_img_btn); //为点击图片按钮设置监听器 add_img_btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - Log.d(TAG, "onClick: click add image button"); - //ACTION_GET_CONTENT: 允许用户选择特殊种类的数据,并返回(特殊种类的数据:照一张相片或录一段音) - Intent loadImage = new Intent(Intent.ACTION_GET_CONTENT); - //Category属性用于指定当前动作(Action)被执行的环境. - //CATEGORY_OPENABLE; 用来指示一个ACTION_GET_CONTENT的intent - loadImage.addCategory(Intent.CATEGORY_OPENABLE); - loadImage.setType("image/*"); - startActivityForResult(loadImage, PHOTO_REQUEST); + if (ContextCompat.checkSelfPermission(NoteEditActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { + //没有授权进行权限申请 + ActivityCompat.requestPermissions(NoteEditActivity.this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE,Manifest.permission.READ_EXTERNAL_STORAGE}, GET_STORAGE_PERMISSION);} + else { + Log.d(TAG, "onClick: click add image button"); + //ACTION_GET_CONTENT: 允许用户选择特殊种类的数据,并返回(特殊种类的数据:照一张相片或录一段音) + Intent loadImage = new Intent(Intent.ACTION_GET_CONTENT); + //Category属性用于指定当前动作(Action)被执行的环境. + //CATEGORY_OPENABLE; 用来指示一个ACTION_GET_CONTENT的intent + loadImage.addCategory(Intent.CATEGORY_OPENABLE); + loadImage.setType("image/*"); + startActivityForResult(loadImage, PHOTO_REQUEST); + } } }); } + @Override + public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { + super.onRequestPermissionsResult(requestCode, permissions, grantResults); + switch (requestCode) { + case GET_STORAGE_PERMISSION: + if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { + Intent loadImage = new Intent(Intent.ACTION_GET_CONTENT); + //Category属性用于指定当前动作(Action)被执行的环境. + //CATEGORY_OPENABLE; 用来指示一个ACTION_GET_CONTENT的intent + loadImage.addCategory(Intent.CATEGORY_OPENABLE); + loadImage.setType("image/*"); + startActivityForResult(loadImage, PHOTO_REQUEST); + } else { + Toast.makeText(this, "You denied the permission", Toast.LENGTH_SHORT).show(); + } + break; + + } + } @Override protected void onRestoreInstanceState(Bundle savedInstanceState) { diff --git a/src/main/res/layout/activity_paint.xml b/src/main/res/layout/activity_paint.xml index d3c7604..9f9d121 100644 --- a/src/main/res/layout/activity_paint.xml +++ b/src/main/res/layout/activity_paint.xml @@ -58,18 +58,18 @@ \ No newline at end of file