【发布时间】:2011-11-07 18:02:31
【问题描述】:
我正在创建一个应用程序,它会在用户从 Android 电子市场 下载应用程序(例如请求读取用户联系信息的壁纸应用程序)之前警告用户奇怪的权限请求。当用户按下 install 按钮并显示 uses-permissions 列表时,有没有办法捕获调用的意图?
【问题讨论】:
标签: android google-play intentfilter
我正在创建一个应用程序,它会在用户从 Android 电子市场 下载应用程序(例如请求读取用户联系信息的壁纸应用程序)之前警告用户奇怪的权限请求。当用户按下 install 按钮并显示 uses-permissions 列表时,有没有办法捕获调用的意图?
【问题讨论】:
标签: android google-play intentfilter
据我所知,没有办法做到这一点。您可以在用户安装应用程序后立即向用户显示您的对话框(在大多数情况下,在他们运行之前):
AndroidManifest.xml
<receiver android:name=".Receiver">
<intent-filter>
<action android:name="android.intent.action.PACKAGE_ADDED" />
<action android:name="android.intent.action.PACKAGE_CHANGED"/>
<data android:scheme="package"/>
</intent-filter>
</receiver>
Receiver.java
public class Receiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
try {
PackageManager manager = this.getPackageManager();
PackageInfo info = manager.getPackageInfo(
intent.getData().getSchemeSpecificPart(), 0);
Toast.makeText(context, "Look at these suspicious permissions:"+
info.permissions, Toast.LENGTH_LONG).show();
} catch (Exception e) {}
}
}
【讨论】: