0

topActivityアプリ間で一定期間非アクティブになった後、タイムアウトの呼び出しを使用しているアプリがあります。これは Android 4.x では正常に機能しましたが、5.x への更新以降、これは機能しなくなりました。

完全な呼び出しは

ActivityManager am = (ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE);
String packageName = am.getRunningTasks(1).get(0).topActivity.getPackageName();

誰かがこれを以前に経験したことがありますか、または解決策を持っていますか? 期待どおりの結果が返されないだけで、エラーはありません。

注: これは商用アプリ用ではなく、非常に限定されたマネージド ディストリビューション用です。

4

1 に答える 1

0

のドキュメントをgetRunningTasks()引用する:

このメソッドは、API レベル 21 で廃止されました。

LOLLIPOP の時点で、このメソッドはサードパーティのアプリケーションでは使用できなくなりました。ドキュメント中心の最近の機能の導入により、発信者に個人情報が漏洩する可能性があります。後方互換性のために、データの小さなサブセットを返します: 少なくとも呼び出し元自身のタスク、および場合によっては機密ではないことが知られているホームなどの他のタスクです。

于 2015-05-28T14:19:35.730 に答える