我有一个浮动按钮正在使用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
所以我可以从服务中访问它,但是一旦我从Capture
拨打Service
,该应用就无法执行任何操作logact
中没有任何内容,我在这里缺少什么?
答案 0 :(得分:-1)
首先,您泄漏与该活动相关的内存及其引用的所有内容(视图,这些视图中的内容等)。
其次,一旦活动被破坏,你就不能再使用了它,例如像startActivityForResult().
在显示浮动窗口之前,您需要从活动中完成整个startActivityForResult()
工作。请参阅this sample app,我使用Notification
而不是浮动窗口。