私が開発し、Androidのウィジェットいてくださいと私は、ウィジェットは、ユーザーが自分のホーム画面に私のウィジェットを追加した場合、彼は彼の画面に再度追加することはできないはず意味し、単数形であることをことをしたい特異Androidのウィジェットが
0
A
答えて
1
当初
2 nullに設定、ウィジェットIDを追跡するためにあなたAppWidgetProviderでのpublic static Integer型の変数を作成します)
1のための構成アクティビティーを作成します):あなたは、これを達成するために試みることができる回避策がありますウィジェット(ここの手順はhttps://developer.android.com/guide/topics/appwidgets/index.html#Configuring)
3)構成アクティビティで、プロバイダの変数のステータスを確認します。ウィジェットがすでに作成されている場合(idがnullでない場合)、AlertDialogを使用してメッセージを表示し、その結果をキャンセルに設定できます。
あなたのコードは次のようになります。
プロバイダでは:として
public class MyAppWidgetProvider extends AppWidgetProvider {
public static Integer widgetId;
@Override
public void onDeleted(Context context, int[] appWidgetIds) {
//If the current widget has been deleted, set widget id to null again
for(int i = 0; i < appWidgetIds.length; i++){
if(widgetId == appWidgetIds[i]){
widgetId = null;
}
}
super.onDeleted(context, appWidgetIds);
}
}
コンフィギュレーション活動で
public class ConfigurationActivity extends Activity {
public int appWidgetId;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent = getIntent();
Bundle extras = intent.getExtras();
if (extras != null) {
appWidgetId = extras.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID, AppWidgetManager.INVALID_APPWIDGET_ID);
}
if(MyAppWidgetProvider.widgetId != null){
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Widget already created");
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Intent resultValue = new Intent();
resultValue.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
setResult(RESULT_CANCELED, resultValue);
finish();
}
});
AlertDialog dialog = builder.create();
dialog.show();
} else {
MyAppWidgetProvider.widgetId = appWidgetId;
Intent resultValue = new Intent();
resultValue.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
setResult(RESULT_OK, resultValue);
finish();
}
}
}
関連する問題
- 1. 複数のウィジェットが異なることをする - Android App
- 2. Theme.NoTitleBarでICSフォームのウィジェットが異なる
- 3. 異なるサイズの画面のウィジェットのAndroidユニット
- 4. Androidウィジェット
- 5. Androidウィジェットのスライドアニメーション
- 6. ウィジェットのAndroidメニュー
- 7. Androidウィジェットのカスタマイズ
- 8. Androidウィジェットの質問
- 9. Androidのウィジェットは、クリック
- 10. Androidのシンプルなウィジェット
- 11. 印刷特定のGWTウィジェット
- 12. Android - accordionウィジェット
- 13. Android:ウィジェットとサービス
- 14. AndroidウィジェットonUpdate()
- 15. Android Honeycomb GridViewウィジェット
- 16. Android:ウィジェットとレイアウト
- 17. 醜いウィジェット - Android
- 18. Android:ウィジェットのウィジェットをウィジェットに合わせる
- 19. のAndroidウィジェットのTextView Scrollabe
- 20. は、Androidのウィジェットのバインダートランザクション
- 21. Androidセットのウィジェットの背景
- 22. Androidウィジェットが動作しない
- 23. Androidウィジェットがタッチに反応しない
- 24. ウィジェットXML Android - appwidgetproviderでdiffディメンションが必要
- 25. アニメーションAndroidウィジェットの作成
- 26. Androidウィジェットのサイズ変更
- 27. Androidウィジェット-ImageViewの問題/エラー
- 28. イオン性config.xmlの異なるウィジェットID
- 29. JPAが特異属性
- 30. ウィジェットごとに異なるウィジェットを更新する方法
あなたはなぜ、そのようにユーザーを制限したいと思います良い経験則は、あなたがやりたいことをやることをユーザーが妨げないようにしてください。あるいは、彼らのためにそれを行い、彼らを助け、物事を簡単にする別のアプリを見つけるでしょう。 y私たちのアプリ:) – erbsman
私のアプリケーションからウィジェット以上のものを使用すると、アプリケーションに大きなダメージを与えることがあります! – enGMzizo