エクスポートされたアクティビティに細粒度の保護メカニズムを実装したいと考えています。パーミッション フレームワークが私の要件では機能していないようです。
私が検討している2つのオプションがあります:
- Activity.getCallingPackage を使用 - アクティビティが startActivityForResult で開始された場合にのみ機能します - これは可能であれば回避したい制限です。
- Binder.getCallingUid を使用 - アクティビティで呼び出されると、呼び出し元の UID ではなく、ローカルの UID が返されます。
startActivity で開始されたアクティビティが呼び出し元のアプリに関する情報を取得できるようにする方法はありますか?