我这里有点小麻烦。我不知道为什么在主屏幕上安装appwidget时会出现安全异常?。我不知道什么可以帮助解决这个问题,但这里是简化的logcat输出和我的android清单:

11-30 18:02:16.454: ERROR/AndroidRuntime(287): Caused by: java.lang.SecurityException: Permission Denial: starting Intent { act=android.appwidget.action.APPWIDGET_CONFIGURE cmp=com.MuchachaApps.WeatherViewer/.WeatherForecastConfigure (has extras) } from ProcessRecord{44e58dc8 287:android.process.acore/10001} (pid=287, uid=10001) requires null
11-30 18:02:16.454: ERROR/AndroidRuntime(287):atandroid.os.Parcel.readException(Parcel.java:1218)
113018:02:16.454:ERROR/AndroidRuntime(287):atandroid.os.Parcel.readException(Parcel.java:1206)
113018:02:16.454:ERROR/AndroidRuntime(287):atandroid.app.ActivityManagerProxy.startActivity(ActivityManagerNative.java:1214)
113018:02:16.454:ERROR/AndroidRuntime(287):atandroid.app.Instrumentation.execStartActivity(Instrumentation.java:1373)
113018:02:16.454:ERROR/AndroidRuntime(287):atandroid.app.Activity.startActivityForResult(Activity.java:2749)
113018:02:16.454:ERROR/AndroidRuntime(287):atcom.android.launcher.Launcher.startActivityForResult(Launcher.java:969)
113018:02:16.454:ERROR/AndroidRuntime(287):atcom.android.launcher.Launcher.addAppWidget(Launcher.java:1148)
113018:02:16.454:ERROR/AndroidRuntime(287):atcom.android.launcher.Launcher.onActivityResult(Launcher.java:379)
113018:02:16.454:ERROR/AndroidRuntime(287):atandroid.app.Activity.dispatchActivityResult(Activity.java:3828)
113018:02:16.454:ERROR/AndroidRuntime(287):atandroid.app.ActivityThread.deliverResults(ActivityThread.java:3325)
11-30 18:02:16.454: ERROR/AndroidRuntime(287):... 11 more

我的Android清单:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.MuchaaApps.WeatherViewer"
      android:versionCode="1"
      android:versionName="1.0">
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <service android:name= "weatherForecast"></service>

<activity android:name=".WeatherForecastConfigure" android:label="@string/app_name"></activity>

<receiver android:name="WeatherWidgetProvider" android:label="Weather Forecast">
     <intent-filter>
       <action android:name= "android.appwidget.action.APPWIDGET_UPDATE"></action>
     </intent-filter>
      <intent-filter>
       <action android:name="com.MuchaaApps.WeatherViewer.WEATHER_UPDATE"></action>
       </intent-filter>
            <meta-data android:name="android.appwidget.provider"
             android:resource="@xml/weather_appwidget_info"></meta-data>
        </receiver>
    </application>

    <uses-sdk android:minSdkVersion="4" />
    <uses-permission android:name="android.permission.INTERNET"/>

</manifest>

如果你需要其他信息,请告诉我。谢谢你

最佳答案

您是否有在将小部件添加到启动程序时应该出现的配置活动?如果是,则需要将APPWIDGET_CONFIGURE操作添加到意图过滤器。如果不是,则需要从appwidget提供程序xml中删除android:configure属性。
有一个但没有另一个是问题。

关于android - 尝试在HomeScreen中安装appWidget时获取SecurityException,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4317234/

10-09 00:10