1

開発サイトのヘルプを見てきました: http://developer.android.com/guide/topics/appwidgets/index.html

欠点は、コードがアプリのクラスを見つけられないことです。

Intent intent = new Intent(context, <package for main activity>.MainActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);

RemoteViews view = new RemoteViews(context.getPackageName(), R.layout.main);
view.setOnClickPendingIntent(R.id.widget_textview, pendingIntent);

MainActivity のパッケージは、Eclipse のまったく別のプロジェクトにあります。

そのため、MainActivity のパッケージをウィジェットのビルド パスに追加し、注文の先頭に配置しました。

ビルド順序:

-->主な活動パッケージ<--

ウィジェット/ソース

ウィジェット/世代

アンドロイド 4.2.2

Android の依存関係

アプリは既にエミュレーターにあり、正常に動作します。

ウィジェットは、アプリに接続しようとせずに正常に動作します (そのため、これらの 4 行はありません)。

2つを接続してエミュレータにインストールすると、次のようになります。

【ウィジェット】 ------------------------------

【ウィジェット】Androidローンチ!

【ウィジェット】adbは正常に動作しています。

[ウィジェット] ランチャーのアクティビティが見つかりません!

[ウィジェット] 起動すると、デバイス上のアプリケーション パッケージのみが同期されます!

【ウィジェット】同期中

[ウィジェット] 自動ターゲット モード: 互換性のある AVD 'NexusS' を実行する既存のエミュレーター 'emulator-5554' を使用

[ウィジェット] Widget.apk をデバイス「emulator-5554」にアップロードする

[ウィジェット] Widget.apk をインストールしています...

【ウィジェット】成功!

[ウィジェット] プロジェクトの依存関係が見つかりました。インストール中: MainActivity

[MainActivity] アプリケーションは既にデプロイされています。再インストールする必要はありません。

[ウィジェット] /Widget/bin/Widget.apk を端末にインストール

【ウィジェット】完成!

ウィジェットはスローされますが、機能しません。デフォルトの文字列値のみを表示します。行のコードにエラーがあります

Intent intent = new Intent(context, <package for main activity>.MainActivity.class);

それは基本的に「クラスが見つかりません」と言っています

このクラスを取得する方法について何か助けはありますか? Eclipse は、リンクを試みる前に .class ファイルを作成していませんか?

Eclipse には、このコードに関する問題はありません。他のプロジェクトがインポートされたことを認識し、クラスを作成できます。

4

1 に答える 1

0

Google には素晴らしいドキュメントがあります。おそらく、コンテンツ プロバイダーを使用してデータを公開したいと思うでしょう。

http://developer.android.com/guide/topics/providers/content-providers.html

http://developer.android.com/guide/topics/appwidgets/index.html

于 2013-03-27T02:13:36.537 に答える