4

設定項目からアクティビティを呼び出そうとしています

理想的には、その設定項目のxmlで明示的な意図を単純に指定したい

しかし、私のGoogle fuは私を見捨てており、暗黙の意図の例しか見つけることができません。

<Preference android:title="@string/prefs_web_page" >
    <intent android:action="android.intent.action.VIEW"
            android:data="http://www.example.com" />
</Preference>

私はすでに自分のアクティビティを別の場所でプログラム的に呼び出しています。

Intent intent = new Intent(this, FileChooserActivity.class);

しかし、これをxmlから直接呼び出したい

これは可能ですか、それとも間違ったツリーを吠えていますか?

4

3 に答える 3

5

targetPackage と targetClass は、検索するプロパティです。

これを使用できます:

<intent
    android:action="android.intent.action.MAIN"
    android:targetPackage="com.example.package"
    android:targetClass="com.example.package.FileChooserActivity" />
于 2012-08-30T14:23:17.250 に答える
2

あなたはこれを行うことができます:

これを設定 XML に追加します。

<Preference
  android:key="TODO"
  android:title="@string/TODO"
  android:summary="@string/TODO">
    <intent
      android:action="com.example.test.pref.action"/>
</Preference>

そして、これをマニフェストに追加して、[設定] から開くようにします。

<activity android:name=".todo"
  android:label="@string/todo">
  <intent-filter>
    <action android:name="com.example.test.pref.action" />
    <category android:name="android.intent.category.DEFAULT" />
  </intent-filter>
</activity>

com.example.test.pref.actionが一意であることを確認してください!

注: マニフェスト エントリを編集できないウェブサイトまたはアクティビティを開く必要がある場合は、インテントを使用してアクティビティ com.example.test.pref.action からプログラムで開く必要があります。

于 2012-08-30T14:18:17.223 に答える