如何讓程序(服務)在啓動時自動初始化,無需用戶設置或交互?
此權限添加到您的清單:
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
然後接收器添加到您的清單:
<receiver android:name="your.package.BootReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.HOME" />
</intent-filter>
</receiver>
建立在Java代碼中的接收器:
public class BootReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// start the service from here
}
}
我的印象是,你不能在沒有使用Activity的情況下實例化和顯示對話框。我希望對話框出現在用戶當前在屏幕上的任何位置,並顯示一個對話框。有沒有辦法讓活動在當前活動中完全透明,還是有辦法顯示服務中的對話框?
是的,的確如此。你必須有一個彈出對話框的活動。要創建一個透明的活動添加下面的風格在res/values/styles.xml
文件下面是一個完整的文件(如果你沒有一個,創建它。):
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme.Transparent" parent="android:Theme">
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">#00000000</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsFloating">true</item>
<item name="android:backgroundDimEnabled">false</item>
</style>
</resources>
然後將該樣式應用到你的活動,例如:
<activity android:name=".TransparentActivity" android:theme="@style/Theme.Transparent">
...
</activity>