2012-03-26 3 views
0

初めてレイアウトを表示するときにサービスを実行するときに、アクティビティを開始したいとします。サービスからレイアウトを表示

私は、次のXMLファイルがあります。

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
     package="com.display.helper" 
     android:versionCode="1" 
     android:versionName="0.1.124"> 
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.READ_PHONE_STATE" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.WRITE_SETTINGS" /> 
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.MODIFY_PHONE_STATE"></uses-permission> 
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"></uses-permission> 
<uses-permission android:name="android.permission.WRITE_SETTINGS"></uses-permission> 
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS"></uses-permission> 
    <uses-permission android:name="android.permission.GET_ACCOUNTS"/> 
    <uses-permission android:name="android.permission.READ_PHONE_STATE"/> 
    <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/> 
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> 
    <uses-permission android:name="android.permission.TELEPHONY"/> 
    <uses-permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT" /> 
    <application android:icon="@drawable/icon" android:label="@string/app_name"> 
     <activity android:name=".GpsTrackActivity" android:label="@string/app_name"> 
     <intent-filter> 
     <action android:name="android.intent.action.MAIN" /> 

     </intent-filter> 
    </activity> 
     <service android:name=".dhaService" > 
     <intent-filter> 
     <action 
     android:name = "com.display.helper.dhaService"> 
     </action> 
     </intent-filter> 
     </service> 
     <receiver android:name=".dha"> 
     <intent-filter> 
     <action 
     android:name ="android.intent.action.BOOT_COMPLETED"> 
... 

を、私はStartServiceメソッドで次の操作を行います。

public class dhaService extends Service 
{ 
    @Override 
    public ComponentName startService(Intent service) { 
     // TODO Auto-generated method stub 
     Notification note = new Notification(R.drawable.icon,"sadasd",System.currentTimeMillis()); 
     note.setLatestEventInfo(this, "Tracking device", "Tracking", null); 
     note.flags |= Notification.FLAG_NO_CLEAR; 
     this.startForeground(1212,note); 
     Intent dialogIntent = new Intent(getBaseContext(),GpsTrackActivity.class); 
     dialogIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
     getApplication().startActivity(dialogIntent); 
     return super.startService(service); 

    } 

レイアウトは私が間違って何をやっているが表示されることはありませんか?

答えて

1

documentationは、「ダイアログは常にアクティビティの一部として作成され、表示されます」と述べています。私はあなたがアクティビティをアクティブにする必要があると考えています(通常の画面がない場合もあります)、onCreateDialog(int)コールバックをオーバーライドします。

+0

このトピックも参照してください。http://stackoverflow.com/questions/7918571/how-to-display-a-dialog-from-a-service – Sparky

関連する問題