【问题标题】:Convert Android Widget to an App with a Widget将 Android Widget 转换为带有 Widget 的 App
【发布时间】:2013-12-24 21:50:38
【问题描述】:

我有一个 Android 小部件(它显示在手机上的小部件列表中,而不显示在应用列表中)。它有一个用于启动弹出活动的按钮。
现在我想更改小部件,使其既是一个应用程序(将显示在手机上的应用程序列表中)将从该弹出活动开始,又是一个小部件(与以前相同)这将启动应用程序(该应用程序将包含该弹出式活动,但将像应用程序一样显示和处理)。
我应该在清单文件中进行哪些更改才能进行上述更改?

以下是我的清单文件:

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="15" />

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

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@android:style/Theme.Light.NoTitleBar" >
    <receiver android:name="myapp.myapp.MyWidgetProvider" >
        <intent-filter>
            <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
        </intent-filter>

        <meta-data
            android:name="android.appwidget.provider"
            android:resource="@xml/demo_widget_provider" />
    </receiver>
    <receiver
        android:name="myapp.myapp.MyWidgetIntentReceiver"
        android:label="widgetBroadcastReceiver" >
        <intent-filter>
            <action android:name="GET_HELP" />
            <action android:name="CHANGE_PICTURE" />
        </intent-filter>

        <meta-data
            android:name="android.appwidget.provider"
            android:resource="@xml/demo_widget_provider" />
    </receiver>

    <activity
        android:name="myapp.myapp.MainActivity"
        android:label="@string/title_activity_main" >
    </activity>
    <activity
        android:name="myapp.myapp.CardsChoice"
        android:label="@string/title_activity_choice" >
    </activity>
</application>

【问题讨论】:

    标签: java android android-widget widget


    【解决方案1】:

    解决方案相当简单:我只需要向应用添加一个 Launcher Activity。
    此操作包括 2 个步骤:

    1. 将活动定义作为启动器活动添加到Manifest
      示例:

      <activity
          android:name="package.package"
          android:label="@string/title_activity_main" 
          android:screenOrientation="portrait">
      
          <intent-filter>
              <action android:name="android.intent.action.MAIN" />
      
              <category android:name="android.intent.category.LAUNCHER" />
          </intent-filter>
      
      </activity>
      
    2. 将活动(和布局)的代码添加到应用程序。
      这是关于一个类MainActivity和一个布局文件activity_main.xml

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-03
      • 1970-01-01
      • 1970-01-01
      • 2013-05-29
      相关资源
      最近更新 更多