30/09/2018, 22:35

Làm thế nào để kích hoạt onPause() trong Andorid?

Cho mình hỏi làm thế nào để kích hoạt onPause() trong android mà không kèm onStop()? Mình có sreach google nhưng có 1 bài bên stackover giống chủ đề, nó giải quyết bằng cách tạo một semi-transparent. Mình có làm theo nhưng nó bị lỗi crash phần mềm. Vậy bạn nào biết cách test onPause() không, chỉ mình với.
Lần đầu mình cứ tưởng máy cái như thanh điều hướng của hệ thống củng có thể gọi được onPause(), vì đơn giản nó có củng che khuất 1 phần màng hình và củng focus nào nó mà không được :v, chắc mình nhầm.

Thuận viết 00:49 ngày 01/10/2018

mình nghĩ trong MainActivity (của Android studio) bạn nhấn: ctrl + o sau đó chọn hàm OnPause thì nó chỉ override hàm Onpause() thôi.

Người bị bơ viết 00:41 ngày 01/10/2018

MÌnh cần cách để gọi onPause(), chứ không phải là ghi đè onPause() vì ghi đề thì mình biết mà @@. Làm sao để gọi được onPause()???

Thuận viết 00:51 ngày 01/10/2018

bạn thử this.onPause();

Người bị bơ viết 00:48 ngày 01/10/2018

Nhưng giờ mình muống tạo một semi-transparent để nó che khuất đi activity chính đồng thời làm mất focus vào activity chính, thì làm sao?

Thuận viết 00:41 ngày 01/10/2018

Bạn cần tạo 1 dialog (activity dạng cửa xổ) khi bạn gọi dialog đó thì MainActivity của bạn ở onPause(), nhưng nó cũng có thể destroy bất cứ lúc nào, vì có thể máy hết ram, hoặc cần chạy app khác ưu tiên hơn. Nếu bạn muốn dialog đó trong suốt thì set thuộc tính alpha = 0

Người bị bơ viết 00:43 ngày 01/10/2018

Nó crash… Chả biết tại sao :v, mình củng thử làm translucent mà củng bị y chan :v.
Mình gọi nó bằng:

startActivity(new Intent(this,popup.class));

Đã sữa Manifest:

Thuận viết 00:40 ngày 01/10/2018

Bạn có thể up lỗi chỗ log lên để mọi người có thể giúp bạn.

Người bị bơ viết 00:40 ngày 01/10/2018
 --------- beginning of crash
07-27 18:26:33.697 2361-2361/com.example.tranl.stopwatch E/AndroidRuntime: FATAL EXCEPTION: main
                                                                           Process: com.example.tranl.stopwatch, PID: 2361
                                                                           java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.tranl.stopwatch/com.example.tranl.stopwatch.popup}: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
                                                                               at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416)
                                                                               at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
                                                                               at android.app.ActivityThread.-wrap11(ActivityThread.java)
                                                                               at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
                                                                               at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                               at android.os.Looper.loop(Looper.java:148)
                                                                               at android.app.ActivityThread.main(ActivityThread.java:5417)
                                                                               at java.lang.reflect.Method.invoke(Native Method)
                                                                               at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
                                                                               at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
                                                                            Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
                                                                               at android.support.v7.app.AppCompatDelegateImplV7.createSubDecor(AppCompatDelegateImplV7.java:343)
                                                                               at android.support.v7.app.AppCompatDelegateImplV7.ensureSubDecor(AppCompatDelegateImplV7.java:312)
                                                                               at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:277)
                                                                               at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)
                                                                               at com.example.tranl.stopwatch.popup.onCreate(popup.java:11)
                                                                               at android.app.Activity.performCreate(Activity.java:6237)
                                                                               at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)
                                                                               at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)
                                                                               at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 
                                                                               at android.app.ActivityThread.-wrap11(ActivityThread.java) 
                                                                               at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 
                                                                               at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                                               at android.os.Looper.loop(Looper.java:148) 
                                                                               at android.app.ActivityThread.main(ActivityThread.java:5417) 
                                                                               at java.lang.reflect.Method.invoke(Native Method) 
                                                                               at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
                                                                               at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 

Cái này chắc đúng là log ghi lỗi bạn nhỉ? Vui lòng kéo qua bên trái 1 tý

Thuận viết 00:48 ngày 01/10/2018

bạn thử thay đổi them trong Manifest android.theme = @style/Base.Theme.AppCompat.Light.Dialog

Phạm Ngọc Hân viết 00:49 ngày 01/10/2018

bạn mở mới 1 Activity dạng Dialog thì Activity kia sẽ mất focus và gọi onPause()

Người bị bơ viết 00:41 ngày 01/10/2018

Oke mình làm được rồi

Bài liên quan
0