相关疑难解决方法(0)

检查Android应用程序是否在后台运行

根据背景,我的意思是用户目前看不到应用程序的任何活动?

android

308
推荐指数
10
解决办法
20万
查看次数

检查android应用程序是否在前台?

我为这个问题找到了很多答案.但这都是关于单一活动的.如何检查整个应用程序是否在前台运行?

android

102
推荐指数
7
解决办法
12万
查看次数

无法添加窗口 - 令牌android.os.BinderProxy无效; 你的活动在运行吗?

我尝试通过Facebook API连接Facebook,我按照这个例子:https://github.com/facebook/facebook-android-sdk/tree/master/examples/simple

一切都还可以,但是当我尝试编辑一些代码时,我的意思是我希望在登录成功后显示对话框发布消息,如下所示:

public void onAuthSucceed() {
        mText.setText("You have logged in! ");   
        //This is the code to call the post message dialog.                     
        mFacebook.dialog(Example.this, "feed",new SampleDialogListener());   
    }
Run Code Online (Sandbox Code Playgroud)

我在logcat中收到此错误:

03-02 13:32:08.629: E/AndroidRuntime(14991): android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.BinderProxy@405180f8 is not valid; is your activity running?
03-02 13:32:08.629: E/AndroidRuntime(14991):    at android.view.ViewRoot.setView(ViewRoot.java:532)
03-02 13:32:08.629: E/AndroidRuntime(14991):    at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:177)
03-02 13:32:08.629: E/AndroidRuntime(14991):    at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
03-02 13:32:08.629: E/AndroidRuntime(14991):    at android.view.Window$LocalWindowManager.addView(Window.java:424)
03-02 13:32:08.629: E/AndroidRuntime(14991):    at android.app.Dialog.show(Dialog.java:241)
03-02 13:32:08.629: E/AndroidRuntime(14991):    at com.facebook.android.Facebook.dialog(Facebook.java:780)
03-02 13:32:08.629: …
Run Code Online (Sandbox Code Playgroud)

android facebook

98
推荐指数
4
解决办法
11万
查看次数

了解isFinishing()

isFinishing()http://developer.android.com/reference/android/app/Activity.html上阅读Android文档后,我感到困惑

如果我打电话isFinishing()onPause(),返回值是什么isFinishing()呼,应在以下3个方案是什么?

  1. 由于finish()被调用,活动正在被杀死.
  2. 由于内存不足,活动不在前台,而活动(不是应用程序)被操作系统杀死.
  3. 活动将进入后台.

我确信在方案1中结果finish()将是真的,在方案3 中将是错误的.

情景2怎么样?在方案2中会isFinishing()返回true还是false

android

34
推荐指数
1
解决办法
3万
查看次数

如何检查活动是否正在运行

可能重复:
检查活动是否处于活动状态

如果活动正在显示,我想在屏幕上显示进度对话框.但是当活动窗口没有显示时,它将不会执行任何操作.请建议,如何检查我的活动是否显示?

android android-activity

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

处于活动状态时从服务刷新活动

我有一个应用程序,我希望仅当服务的活动在前台(活动)时才更新活动(精确列出活动)

我可以使用ListActivity Intent,但问题是即使它在后台也会引发活动.

我还考虑过在ListAdapter上使用registerDataSetObserver,但是要求更新游标.从外部服务更新光标可能不可行.

我们有一个通用的解决方案吗?

android

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

检查应用程序是在前台还是后台运行(使用同步适配器)

我知道这是一个重复的问题,但我看到了整个地方,找不到适合我的解决方案......

我有一个从TMDB API获取电影数据的应用程序,它使用同步适配器逐页获取,基本上它运行很好,除非在应用程序打开且用户不在第一页时运行同步适配器的定期同步,所以我的选择是强制更新电影列表并将用户发送到列表的顶部,这是非常糟糕的体验,因此不被视为一个选项,或者我可以检查应用程序是否正在运行,无论是在前台还是在应用程序中堆栈,它对用户不可见但仍在运行,所以通过搜索得到的最好的是这段代码:

   public static boolean isAppRunning(final Context context, final String packageName) {

    final ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
    final List<ActivityManager.RunningAppProcessInfo> procInfos = activityManager.getRunningAppProcesses();

    if (procInfos != null) {
        for (final ActivityManager.RunningAppProcessInfo processInfo : procInfos) {
            if (processInfo.processName.equals(packageName))
                return true;
        }
    }

    return false;
}
Run Code Online (Sandbox Code Playgroud)

但无论出于什么原因,它都无法正常工作并且即使我通过刷卡杀死它也看到应用程序正在运行,起初我认为这是因为我有一个同步适配器可以被认为是运行的应用程序所以我使用了另一个进程它在清单中使用了

android:process=":service"
Run Code Online (Sandbox Code Playgroud)

但它不起作用

还考虑在活动的onStart和onStop中使用变量,但不保证在关闭或杀死应用程序时会调用onStop,因此试图避免使用此方法

这是我的manifest.xml

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="inc.mourad.ahmed.watchme">

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
<uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />

<permission
    android:name="inc.ahmed.mourad.ACCESS_WATCHME_DATABASE"
    android:label="access my movies content provider"
    android:protectionLevel="dangerous" />
<permission
    android:name="inc.ahmed.mourad.ACCESS_WATCHME_SYNC_SERVICE"
    android:label="access …
Run Code Online (Sandbox Code Playgroud)

android android-syncadapter

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

有没有更好的方法来了解 Activity 的生命周期状态,例如 isOnStop、isOnPause 等 API?

我有很多变量,例如isOnPauseisOnStop等等。当 Activity 调用时,onStop()isOnStop = true想知道是否存在像这样的官方方法this.isOnPause(), this.isOnStop()

我查了Activity的API参考,只看到了isDestroyed(),但是没有isStoped(), isPaused()

protect final void onStop(){
    isOnStop = true // I don't think this is good way to do this.
}
Run Code Online (Sandbox Code Playgroud)

所以,我想知道是否存在像这样的官方方法this.isOnPause(), this.isOnStop()

java android

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