0
我有一個android活動,它運行遠程服務,然後退出。 服務本身在設備節點上輪詢,並檢查更改, 我想用toast來提醒用戶,但我沒有讓它工作。 Toast沒有顯示,過了一會兒,Android喊道我的應用程序沒有響應。 順便說一句,我不想再次開始活動,並從那裏顯示吐司,我只是希望它彈出顯示給用戶當前屏幕。在自助服務中敬酒
這裏的服務代碼:
public class MainService extends Service {
// Native methods
public native static int GetWiegandCode();
public native static void openWiegand();
public native static void closeWiegand();
static int code = 0;
// Other
private static final String TAG = MainService.class.getSimpleName();
private Handler handler;
@Override
public IBinder onBind(Intent intent) {
return null;
}
public void run() {
Handler h;
while (true) {
code = GetWiegandCode();
if (code > 0) {
h = new Handler(this.getMainLooper());
h.post(new Runnable() {
@Override
public void run() {
Toast.makeText(getBaseContext(),
"ID " + Integer.toString(code) +
"Just entered", Toast.LENGTH_LONG).show();
}
});
}
}
}
@Override
public void onCreate() {
super.onCreate();
openWiegand();
Log.i(TAG, "Service Starting");
this.run();
}
@Override
public void onDestroy() {
super.onDestroy();
closeWiegand();
Log.i(TAG, "Service destroying");
}
static {
System.loadLibrary("wiegand-toast");
}
}
也許本機的功能不能正常工作? – Joru
它工作正常,我測試它已經使用Log.i打印... – stdcall