0

我有一个浮动按钮正在使用android.permission.SYSTEM_ALERT_WINDOW所有窗口进行绘制,我想要完成的是一旦我按下它,我就从ProjectionMedia API这里开始正在做的事情:

//passing to it the Main activity
  public MyManager(Activity activity) {
        this.activity = activity;
        // call for the projection manager
        mProjectionManager = (MediaProjectionManager) activity.getSystemService(Context.MEDIA_PROJECTION_SERVICE);
    }

 public void Capture() {
        isWorking = true;
        mHandler = new Handler();
        Intent i = mProjectionManager.createScreenCaptureIntent();
       // i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        activity.startActivityForResult(i, REQUEST_CODE);

    }

并且MainActivity我有static MyManager,所以我可以从服务中访问它,但是一旦我CaptureService应用程序调用它就不会做任何事情,并且没有任何东西,logact我在这里缺少什么?

4

1 回答 1

-1

首先,您正在泄漏与该活动及其引用的所有内容(视图、这些视图中的内容等)相关的内存。

其次,一旦活动被销毁,你就不能再使用它了,比如像这样的事情startActivityForResult().

startActivityForResult()在显示浮动窗口之前,您需要从活动中完成所有工作。请参阅此示例应用程序,我在其中使用 aNotification而不是浮动窗口。

于 2016-06-08T15:05:57.933 回答