0

我尝试编写可以在 USB 连接时启动的应用程序我从连接 USB 电缆后自动启动我的 android 应用程序中学习。

我的代码是

    package com.example.formatsdcard;
    import java.io.File;


    import android.os.Bundle;
    import android.os.Environment;
    import android.app.Activity;
    import android.util.Log;
    import android.view.Menu;
    import android.view.View;
    import android.widget.Button;
    import android.content.BroadcastReceiver;
    import android.content.Context;
    import android.content.Intent;

    public class MainActivity extends Activity {

public class OnPowerReceiver extends BroadcastReceiver { 

    @Override
        public void onReceive(Context context, Intent intent) {

            Intent i = new Intent(context, MainActivity.class);
            i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            context.startActivity(i);   
        }   
    }   

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Button mButton01 = (Button)findViewById(R.id.button1); 
    mButton01.setOnClickListener(new Button.OnClickListener() 
    { 
      public void onClick(View v) 
      {
          wipeMemoryCard();
      }
    });

我的清单是

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.formatsdcard"
    android:versionCode="1"
    android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="7"
    android:targetSdkVersion="17" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission   android:name="android.intent.action.ACTION_POWER_CONNECTED"/>

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >

    <activity
        android:name="com.example.formatsdcard.MainActivity"
        android:label="@string/app_name" >

        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>

    </activity>
    <receiver android:name=".OnPowerReceiver">
           <intent-filter>
              <action android:name="android.intent.action.ACTION_POWER_CONNECTED" />
           </intent-filter>
                </receiver>
</application>

单击后我的应用程序可以运行,但是当我连接 USB 电缆时,它会显示有问题稍后再试。

我应该如何更改我的代码以使其正常工作。

4

2 回答 2

2

你应该试试

<receiver android:name="MainActivity$OnPowerReceiver">
    <intent-filter>
        <action android:name="android.intent.action.ACTION_POWER_CONNECTED" />
    </intent-filter>
</receiver>

或者尝试将 OnPowerReceiver 作为公共类放入您的包 com.example.formatsdcard

于 2013-11-05T13:59:25.650 回答
0

class为您的onPowerReceiver. 不要把它放在你的 MainActivity 中。

于 2013-11-05T13:59:13.413 回答