为手机充电时启动FtpServer

时间:2013-08-02 10:52:47

标签: android ftp broadcastreceiver

我想创建一个应用程序,当我的手机连接到Power时启动FTPServer。我不希望我的应用程序有GUI。 在GooglePlay中,我找到了第三方FtpServer应用程序,可以通过Intent

启动和停止
Intents:
com.theolivetree.ftpserver.StartFtpServer
com.theolivetree.ftpserver.StopFtpServer

所以我想在我的应用程序中使用这些代码来执行这些命令,但我没有任何线索如何使用它们。到目前为止,我正在尝试使用Toast来查看在我进一步移动之前是否发生了任何事情,但不幸的是没有发生。

我的AndroidManifest.XML看起来像这样:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="de.power.ftpserver"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="17" />

    <application 

    android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" 
        android:allowBackup="true">

        <receiver android:enabled="true" android:name="FtpReceiver">
        <intent-filter>
                <action android:name="android.intent.action.ACTION_POWER_CONNECTED">       </action>
                <action android:name="android.intent.action.ACTION_POWER_DISCONNECTED"></action>
        </intent-filter>
    </receiver>

    </application>
</manifest> 

FtpReceiver.java

package de.power.ftpserver;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;

    public class FtpReceiver extends BroadcastReceiver {

    @Override
        public void onReceive(Context context , Intent intent) 
        {
            String action = intent.getAction();

            if(action.equals(Intent.ACTION_POWER_CONNECTED)) 
            {
                Toast.makeText(context, "FtpServer gestartet", Toast.LENGTH_LONG).show();
            }
            else if(action.equals(Intent.ACTION_POWER_DISCONNECTED)) 
            {
                Toast.makeText(context, "FtpServer beendet", Toast.LENGTH_LONG).show();
            }
        }
    }

当我将应用程序安装到我的手机时,控制台会说

[2013-08-02 12:28:19 - FtpServer] No Launcher activity found!
[2013-08-02 12:28:19 - FtpServer] The launch will only sync the application package on the device!

但无论如何要安装。我可以插入和拔出Powerconnectioncable但我没有得到任何Toast消息。任何人都可以帮助PLZ吗?

1 个答案:

答案 0 :(得分:0)

我知道这有点老了。但仅仅是为了将来参考和作为部分解决方案,我遇到了如何使用FTP服务器应用程序提供的Intent的相同问题,这是您正在寻找的:

Intent startIntent = new Intent("com.theolivetree.ftpserver.StartFtpServer");
sendBroadcast(startIntent); // start

要停下来,它就是一样的

Intent startIntent = new Intent("com.theolivetree.ftpserver.StopFtpServer");
sendBroadcast(startIntent); // stop

希望它仍然可以帮助某人。