में एक गैर गतिविधि वर्ग से संवाद चेतावनी दिखाएं मैं एक non-activity
वर्ग DeviceAdminReceiverSample
की विधि onDisabled
को AlertDialogManager
वर्ग के माध्यम से एक चेतावनी संवाद दिखाना चाहते हैं, लेकिन जब भी मुझे लगता है कि विधि के माध्यम से alertDialog
फोन यह पाठएंड्रॉयड
त्रुटि
06-12 12:01:19.923: E/AndroidRuntime(468): FATAL EXCEPTION: main
06-12 12:01:19.923: E/AndroidRuntime(468): java.lang.RuntimeException: Unable to start
receiver com.android.remotewipedata.DeviceAdminReceiverSample:
android.view.WindowManager$BadTokenException: Unable to add window -- token null is not
for an application
मैं जानता हूँ कि इस मुद्दे को context
बात के साथ है, लेकिन मैं नहीं जानता कि क्या वहाँ डाल करने के लिए इतना है कि यह काम करते हैं, मैं this
की कोशिश की, getApplicationContext()
लेकिन सभी व्यर्थ।
AlertDialogManager
public class AlertDialogManager {
public void showAlertDialog(Context context, String title, String message,
Boolean status) {
final AlertDialog alertDialog = new AlertDialog.Builder(context).create();
alertDialog.setTitle(title);
alertDialog.setMessage(message);
if (status != null)
alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
alertDialog.dismiss();
}
});
alertDialog.show();
}
}
DeviceAdminReceiverSample
public class DeviceAdminReceiverSample extends DeviceAdminReceiver {
static final String TAG = "DeviceAdminReceiver";
AlertDialogManager alert = new AlertDialogManager();
/** Called when this application is no longer the device administrator. */
@Override
public void onDisabled(Context context, Intent intent) {
super.onDisabled(context, intent);
Toast.makeText(context, R.string.device_admin_disabled,
Toast.LENGTH_LONG).show();
// intent.putExtra("dialogMessage", "Device admin has been disabled");
// intent.setClass(context, DialogActivity.class);
// intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
// context.startActivity(intent);
alert.showAlertDialog(context, "Alert",
"Device admin has been disabled", true);
}
कि के लिए एक DialogActivity पैदा करते हैं। –
संदर्भ वस्तु के बजाय गतिविधि ऑब्जेक्ट का उपयोग करें। – Ajay