سؤال

أرغب في فتح مربع حوار مع بعض المعلومات البسيطة عليه عند استغلال خلفية حية. تجاوز OnCommand في خلفية Android Live ، وإضافة مربع حوار مخصص مباشرة من مستندات Android (مع تخطيط info_dialog.xml غير معروضة):

@Override
public Bundle onCommand (String action, int x, int y, int z, Bundle extras, boolean resultRequested)
{
 System.out.println(action);  
 Context mContext = getApplicationContext();
 Dialog dialog = new Dialog(mContext);

 dialog.setContentView(R.layout.info_dialog);
 dialog.setTitle("Custom Dialog");

 TextView text = (TextView) dialog.findViewById(R.id.text);
 text.setText("Hello, this is a custom dialog!");

 dialog.show();

 return null
}    

فقط يولد استثناء:

12-02 07:14:40.880: ERROR/AndroidRuntime(295): android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application
12-02 07:14:40.880: ERROR/AndroidRuntime(295):     at android.view.ViewRoot.setView(ViewRoot.java:509)

12-02 07:14:40.880: ERROR/AndroidRuntime(295):     at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:177)

12-02 07:14:40.880: ERROR/AndroidRuntime(295):     at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)

12-02 07:14:40.880: ERROR/AndroidRuntime(295):     at android.app.Dialog.show(Dialog.java:241)

أفترض أن هذا لأنني أحاول رفع مربع الحوار من خدمة خلفيات بدلاً من نشاط. تجاوز طريقة خلفيات.

هل هذا يعني أنني بحاجة إلى تدوير نشاط منفصل لاستضافة مربع الحوار؟ أم أن إبداع حوار من خلفية حية غير ممكن؟

هل كانت مفيدة؟

المحلول

هل هذا يعني أنني بحاجة إلى تدوير نشاط منفصل لاستضافة مربع الحوار؟

نعم. أو الأفضل من ذلك ، استخدم نشاطًا تحت عنوان الحوار.

شخصياً ، إذا كنت تتوقع القيام بذلك من أجل خلفية الحائط الكاملة الخاصة بك ، أتوقع أن تحصل على مجموعة كاملة من تصنيفات النجوم الواحدة في السوق ، حيث أظن أن المستخدمين سيغضبون عندما يستمر نشاطك/مربع الحوار لمجرد ظهوره لمجرد ذلك لأنه إنهم يسيئون فصلهم على شاشتهم الرئيسية.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top