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サービス内からアクセスできるようにしていますが、アプリCaptureから呼び出しServiceても何もせず、logactここに何が欠けていますか?

4

1 に答える 1

-1

まず、そのアクティビティとそれが参照するすべてのもの (ビュー、それらのビューのコンテンツなど) に関連付けられたメモリをリークしています。

第二に、アクティビティが破棄されると、次のような目的でそれを使用できなくなりますstartActivityForResult().

startActivityForResult()フローティング ウィンドウを表示する前に、アクティビティからすべての作業を行う必要があります。このサンプル アプリを参照してください。ここNotificationでは、フローティング ウィンドウの代わりに を使用しています。

于 2016-06-08T15:05:57.933 に答える