相关疑难解决方法(0)

Android - 如何覆盖"后退"按钮,以便它不完成()我的活动?

我目前有一个活动,当它显示时,通知也将显示在通知栏中.

这样,当用户按下主页并将活动推送到后台时,他们可以通过通知返回活动.

当用户按下后退按钮时,问题就出现了,我的活动被破坏但是通知仍然存在,因为我希望用户能够按下但仍然能够通过通知进入活动.但是当用户尝试这个时,我会尝试Null Pointers尝试启动一项新活动,而不是重新启动旧活动.

所以基本上我希望Back按钮的行为与Home按钮完全相同,这是我到目前为止的尝试方式:


        @Override
        public boolean onKeyDown(int keyCode, KeyEvent event)  {
            if (Integer.parseInt(android.os.Build.VERSION.SDK) < 5
                    && keyCode == KeyEvent.KEYCODE_BACK
                    && event.getRepeatCount() == 0) {
                Log.d("CDA", "onKeyDown Called");
                onBackPressed();
            }

            return super.onKeyDown(keyCode, event);
        }

        public void onBackPressed() {
            Log.d("CDA", "onBackPressed Called");
            Intent setIntent = new Intent(Intent.ACTION_MAIN);
            setIntent.addCategory(Intent.CATEGORY_HOME);
            setIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            startActivity(setIntent); 

            return;
        }   
Run Code Online (Sandbox Code Playgroud)

但是上面的代码似乎仍然允许我的Activity被销毁,如何在按下后退按钮时阻止我的Activity被销毁?

android back-button nullpointerexception onkeypress android-activity

193
推荐指数
5
解决办法
32万
查看次数

Android:如何防止后退按钮取消DialogFragment

我有一个可以创建并弹出DialogFragment的Fragment,但是当我点击后退按钮时,即使我显式调用setCancelable(false),它也会取消对话框; 我的DialogFragment有没有办法对后退按钮不敏感?

public class LoadingDialogFragment extends DialogFragment
{
    String title;
    String msg;

    public LoadingDialogFragment()
    {
        this.title = "Loading...";
        this.msg = "Please wait...";
    }
    public LoadingDialogFragment(String title, String msg)
    {
        this.title = title;
        this.msg = msg;
    }

    @Override
    public Dialog onCreateDialog(final Bundle savedInstanceState)
    {
        final ProgressDialog dialog = new ProgressDialog(getActivity());

        dialog.setTitle(title);
        dialog.setMessage(msg);
        dialog.setIndeterminate(true);
        dialog.setCanceledOnTouchOutside(false);
        dialog.setCancelable(false);

        return dialog;
    }

}
Run Code Online (Sandbox Code Playgroud)

我从AsyncTask创建DialogFragment:

private class GpsTask extends AsyncTask<String, Integer, Integer>
{
    //ProgressDialog dialog;
    @Override
    protected void onPreExecute()
    {
        FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
        DialogFragment newFragment …
Run Code Online (Sandbox Code Playgroud)

android back-button fragment progressdialog android-asynctask

46
推荐指数
1
解决办法
2万
查看次数

如何检测用户是否已离开我的应用程序?

我正在开发一个Android应用程序,我想通过单击"后退"按钮或"主页"按钮来检测用户何时退出我的应用程序.

此外,一个类似的事件onInit()在我的场景中会很有用,因为我只想让MyIn?t操作从一开始就开始.

onDestroy() 在其他应用需要更多内存之前不会被调用.

android

27
推荐指数
3
解决办法
2万
查看次数

EditText:通过setText()或键盘输入区分文本更改

我有一个EditTextView,它是由setText()我的代码和用户通过(软/硬)键盘编辑的 - 如果可能的话,通过语音输入.我希望以不同于普通用户输入的方式处理我的代码所做的输入:如果发生用户输入,则应触发内部事件.但我不知道如何区分两者.以前 - 在模拟器上开发时 - 我使用该onKeyDown()方法来捕获用户输入.但是,当在真实设备上进行测试时,我发现,这onKeyDown()不是从软键盘输入触发的.此外,语音输入不会被识别,但我认为这是一个小缺陷.所以这个解决方案对我来说别无选择.

另一方面,有onTextChanged()方法,但这是由两个setText()和键盘输入触发.那么如何区分两者或哪些方法仅由用户输入调用,而不是在使用时setText(),我可以覆盖它吗?

android input android-edittext

16
推荐指数
2
解决办法
5499
查看次数

覆盖Android后退按钮

关于我为什么尝试这样做的一些信息:我正在使用ActivityGroups从tabHost活动中打开一个活动,并将新活动保留在选项卡下.那部分我有.但是当进入那个新活动时,如果我使用后退按钮,它会让我直接从标签活动开始,所以我必须点击几次才能回到原来的位置.

有没有办法设置后退按钮转到特定活动而不是杀死当前活动窗口?

android back android-activity

7
推荐指数
2
解决办法
9301
查看次数

允许在onPause()之前或期间显示对话框?

我为Android创建了一个简单的游戏; 我想通过意外按下主页或后退按钮来阻止用户将游戏发送到后台.我计划使用对话框来确认用户的操作.我想要的是类似于Sirius对他们的应用程序所做的,如果你需要一个插图.

我尝试将此操作添加到重写的onPause(),但是在显示对话框后,活动立即消失,因此我认为我不会以正确的方式进行此操作.我怎样才能解决这个问题?

任何帮助表示赞赏.

lifecycle android android-activity

5
推荐指数
1
解决办法
1775
查看次数

如何覆盖背压以留下活动?

如何在背面按下以进入主发射器或退出应用程序?但不是杀了它

android

1
推荐指数
1
解决办法
5082
查看次数

检测后退按钮单击并忽略额外点击

在我的应用程序中,有时用户点击后退按钮,并且没有响应,因此他们立即再次点击,而不是回到上一个屏幕,他们返回2-3个屏幕.有时完全脱离应用程序.然而,只显示了一个屏幕,所有这些后退点击都发生了!有没有办法拦截这个并忽略这些后续点击.也许观察它们的间距或它们发生的屏幕?还有其他人有这个问题吗?

我的猜测是没有什么可以做的,因为用户可以完全控制后退按钮,但为什么Android不会忽略额外的点击,因为它们都发生在同一页面上,甚至没有说明要切换?

android

0
推荐指数
1
解决办法
2618
查看次数